24得票2回答
Java: 在使用一个装满自定义对象的ArrayList时,我应该重写equals方法还是实现Comparable/Comparator接口来使用contains方法?

我有一个ArrayList,里面装着这些:class TransitionState { Position positionA; Position positionB; int counter; public boolean equals (Object ...

23得票2回答
Java流排序2个变量升序/降序

我想对seq1进行升序排序,对seq2进行降序排序,所以我这样做:list = list.stream().sorted(comparing(AClass::getSeq1).thenComparing( AClass::getSeq2).reversed()).coll...

23得票1回答
使用Comparator接口和Java 8流进行排序

Parent是一个被Child继承的类,Child又被GrandChild继承。每个类都包含子类的列表(即Parent包含Child的列表,Child包含GrandChild的列表)。每个类都包含50个属性(attrib1-atrib50)。 getChildList()返回类型为Child对...

23得票3回答
在Java中,Collections.sort()中使用的Comparator线程安全吗?

如果我创建一个Comparator的单个实例,是否可以跨多个线程使用该实例使用Collections.sort()来对集合进行排序?还是,我需要为每次对Collections.sort()的调用创建一个新的Comparator实例以确保线程安全性?

23得票2回答
在Java中使用自定义比较器创建SortedMap

我想在Java中创建一个具有自定义排序顺序的TreeMap。需要按照字符串键的第二个字符进行排序。值也是字符串。 示例映射:Za,FOO Ab,Bar

23得票4回答
比较一致等于什么意思?如果我的类不遵循这个原则会发生什么?

来自TreeMap的JavaDoc: 请注意,排序映射(无论是否提供显式比较器)所维护的顺序必须与相等性保持一致,如果此排序映射要正确实现Map接口。 (有关与equals一致的精确定义,请参见Comparable或Comparator。)这是因为Map接口是根据equals操作定义的...

22得票3回答
Java 8 Comparator nullsFirst naturalOrder confused Java 8中的Comparator nullsFirst naturalOrder混淆

这可能是一个简单的问题,但我希望能够清楚地理解它... 我有一个像这样的代码:public final class Persona { private final int id; private final String name public Persona(final ...

21得票4回答
不区分大小写的比较器破坏了我的TreeMap。

我在我的TreeMap中使用的一个Comparator破坏了我想要的TreeMap行为。请看以下代码:TreeMap<String, String> treeMap = new TreeMap<>(new Comparator<String>() { ...

21得票5回答
实现原始布尔类型的比较器?

我需要一些实现 Comparator 接口的类,其中一个需要比较原始的 boolean(而不是 Boolean)值。 如果它是一个Boolean,我只需返回 boolA.compareTo(boolB);,它将返回0、-1或1。但是,如何处理原始类型?

21得票4回答
使用 Comparator 而不是 equals() 来比较两个 Java 集合。

问题陈述 我有两个相同类型的对象集合,我想进行比较。在这种情况下,我想根据一个属性进行比较,该属性不考虑对象的equals()方法。在我的例子中,我使用了排名的名称集合。 public class Name { private String name; private in...