java - 对不可比较元素列表进行排序

标签 java comparable

今天我被问到这个面试问题:

If I have a Person class with name, age and salary fields, and I put 100 new instances of this Person in an ArrayList, and then do Collections.sort(list), then on what parameter will the list be sorted?

我知道我需要让 Person 类实现 Comparable 然后覆盖 compareTo,但如果我不这样做,会发生什么?

最佳答案

它不会编译: Collections.sort 的 1 参数版本需要一个 Comparable 的列表秒。具体来说,一个 List<T>其中 T工具 Comparable<? super T> .

关于java - 对不可比较元素列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17432489/

相关文章:

java - 使用 Maven 从 HTML 模板中删除注释

java - 根据参数/用户选择更新 sqlite 表属性

java - 如何使用 Comparable 对对象的优先级列表进行排序?

Java:实现可比较但条件 if 太多。我怎样才能避免它们?

java - 当所有任务完成时,执行器服务如何发出信号?

java - 在两个链接表(通过 fk 链接)的第二个表中创建行不起作用

java - 如何确保打印偶数奇数的两个线程在此实现中保持先偶后奇的顺序?

java - 在优先级队列中,Comparator 和 Comparable 的自然排序哪个优先?

java - 如何对字节数组集合进行 Collections.binarySearch ?

swift - 在 Swift 中比较枚举