问题标签 [comparator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
517 浏览

c# - 我需要根据复杂的分隔符拆分字符串

在 C# 中,我需要根据特定的字符序列将字符串(log4j 日志文件)拆分为数组元素,即“nnnn-nn-nn nn:nn:nn INFO”。我目前正在用换行符分割这个日志文件,这很好,除非日志语句本身包含换行符。

我不控制输入(日志文件),所以以某种方式转义它们不是一种选择。

似乎我应该能够使用比较器或正则表达式来识别字符串,但 String.Split 没有这样的选项。

我是否坚持自己滚动,或者是否有可以在这里提供帮助的模式或框架组件?

0 投票
1 回答
550 浏览

java - 如果我的比较器在忙于冒泡或冒泡时抛出异常,我的 PriorityQueue 会发生什么?

我正在尝试按升序排列整数对,其中如果两个条目都严格小于另一对的条目,则认为一对小于另一对,如果两个条目都严格大于另一对的条目,则大于另一对一对。所有其他情况都被认为是无法比拟的。

我想解决这个问题的方法是通过定义Comparator实现上述内容的 a ,但会在无法比较的情况下抛出异常,并将其提供给 a PriorityQueue。当然,在插入一对优先级队列时,会进行多次比较,同时将新条目冒泡到堆中的正确位置,其中许多是可比较的。但是在冒泡过程中可能会遇到与这个新的pair无法比较的pair,会抛出异常。如果发生这种情况,该状态将是PriorityQueue什么?我试图插入的这对是否会在抛出异常之前位于堆中的最后一个位置?如果我使用该PriorityQueue's remove(Object o)方法,是否PriorityQueue会恢复到一致的状态?

谢谢

0 投票
3 回答
962 浏览

c++ - 查找列表的最左边和最右边的点。std::find_if 正确的方法?

我有一个 Point 对象列表(每个对象都有 x,y 属性),并且想找到最左边和最右边的点。我一直在尝试用 find_if 来做,但我不确定它要走的路,因为我似乎无法传递比较器实例。find_if 是要走的路吗?似乎没有。那么,是否有一种算法<algorithm>可以实现这一点?

提前致谢。

0 投票
3 回答
2965 浏览

java - Java Collections Sort 不接受带有 arg 的比较器构造函数

我收到此行的编译器错误:

Collections.sort(terms, new QuerySorter_TFmaxIDF(myInteger));

我的自定义比较器非常基础;这是签名和构造函数:

}

是否因为我将参数传递给比较器而出现错误?我需要通过一个论点...

0 投票
2 回答
134 浏览

c++ - C++改变排序方法

可能重复:
C++ 结构排序

是否可以根据指定的排序方法在 C++ 中对向量进行排序,例如 Java 的 Collections.sort 中使用的带有 Comparator 的方法?

0 投票
3 回答
10658 浏览

java - 实现 Java 优先级队列

其中 PriorityNode 定义为:

我在这里使用比较器并实现优先级队列时遇到了很多困难 - 请指出我正确的方向。

0 投票
2 回答
45645 浏览

java - 使用自定义比较器在 Java 中创建 SortedMap

我想TreeMap用自定义排序顺序在 Java 中创建一个。排序后的键是字符串,需要根据第二个字符进行排序。这些值也是字符串。

示例地图:

0 投票
4 回答
5745 浏览

c++ - C++字符串排序像一个人?

我想以人类对它们进行排序的方式对字母数字字符串进行排序。即,“A2”在“A10”之前,“a”当然在“Z”之前!有没有办法不用写一个迷你解析器?理想情况下,它还将“A1B1”放在“A1B10”之前。我看到问题“Microsoft SQL 2005 中的自然(人类字母数字)排序”有一个可能的答案,但它使用各种库函数,“使用 IComparer 为人类排序字符串”也是如此。

以下是当前失败的测试用例:

0 投票
29 回答
1233939 浏览

java - 按属性对自定义对象的 ArrayList 进行排序

我阅读了有关使用 Comparator 对 ArrayList 进行排序的信息,但在人们使用的所有示例中compareTo,根据一些研究,这是一种用于字符串的方法。

我想按其属性之一对自定义对象的 ArrayList 进行排序:日期对象 ( getStartDay())。通常我会比较它们,item1.getStartDate().before(item2.getStartDate())所以我想知道我是否可以写一些类似的东西:

0 投票
4 回答
6440 浏览

c# - 是否有内置方法来比较 IEnumerable(通过他们的元素)?

我想比较给定类型的元素列表,看看哪个列表“更大”。

...将返回 1

...将返回 -1 等

有没有这样的内置比较器?