56得票7回答
使用多个键对Java对象进行排序

我有一组鸭子对象,我想使用多个键值对它们进行排序。class Duck { DuckAge age; //implements Comparable DuckWeight weight; //implements Comparable String name; } Li...

55得票4回答
在 Kotlin 中创建独占范围

我刚开始学习Kotlin。我想创建一个从1到n的范围,其中n是排除的。我发现Kotlin有范围,并且我可以按以下方式使用它们:1..n 但这是一个包括1和n在内的包容性范围。我如何创建排除性范围?

39得票3回答
为什么Java 8中的Stream.sorted方法不是类型安全的?

这是来自Oracle JDK 8实现的Stream接口: public interface Stream<T> extends BaseStream<T, Stream<T>> { Stream<T> sorted(); } 很容...

37得票6回答
Python 3中可比较的类

在Python 3中,使类可比较的标准方式是什么?(例如,通过id)

36得票3回答
Comparable和Comparator在处理null值时的规定

Comparable合约规定了e.compareTo(null)必须抛出NullPointerException异常。 来自API: 请注意,null不是任何类的实例,即使e.equals(null)返回false,e.compareTo(null)也应该抛出NullPointerExc...

35得票3回答
什么决定了比较器/可比较集合类中的升序或降序?

我知道我们可以根据需求对存储在集合中的对象进行排序。 虽然我已经有了深入的理解,但我并不认同按升序或降序排列实现的方式是通过 (a - b) -> 升序 或 (b - a) -> 降序,其中 "a" 和 "b" 是我们选择比较的类成员。 例如:public int compareTo(St...

30得票5回答
两个可比较对象的最小/最大函数

我需要找到两个 Comparable 值中较小的一个: Comparable<C> a = ...; Comparable<C> b = ...; Comparable<C> min = a.compareTo(b) <= 0 ? a : b; 这类...

29得票9回答
如何编写一个比较对象的compareTo方法?

我正在学习数组,我的一个数组包含一个姓氏,名字和分数。 我需要编写一个compareTo方法来比较姓氏和名字,以便可以按姓氏的字母顺序排序,如果两个人有相同的姓氏,则按名字排序。 我感到困惑,因为我书中的所有信息都是比较数字,而不是对象和字符串。 以下是我目前编写的代码。我知道它是错误的...

29得票3回答
如何在同一个类中创建2个可比较的方法?

我已经有一个分类的类,通过一个属性进行排序。 现在我需要另外一种方法来对数据进行排序。 我该如何做到可以在两种方法之间进行选择。 我知道的唯一命令是Collections.sort,它会从我要比较其数据的类中选择compareTo方法。 这真的可行吗?

28得票4回答
Java中使用.reverseOrder()的Comparator,但是使用内部类

我正在创建一个简单的程序,以了解Java Comparator类。我已经将一个Arraylist按顺序排序,但现在我想按降序排序列表,但是我在哪里调用.reverseOrder()方法遇到了问题,因为我使用了一个实现Comparator 接口的内部类(song是一个包含getter和sette...