任何类的java中的Collections.sort

Ash*_*egi 2 java sorting collections class

Java类问题

在C++中,如果我们向vector添加一些类对象,我们可以通过指定一些函数来对列表进行排序,例如operator <()或operator ==()或operator!=.

我们需要在java中为Collections.sort做什么才能按照我们的意愿工作

Jon*_*eet 8

你实施Comparable<T>.

来自以下文档Collections.sort:

根据元素的自然顺序,将指定列表按升序排序.列表中的所有元素都必须实现Comparable接口.此外,列表中的所有元素必须是可相互比较的(即,e1.compareTo(e2)不得为列表中的任何元素e1和e2抛出ClassCastException).

或者,如果您控制元素类型(例如,您有一个List<String>并且您想要应用自定义排序顺序),则实现Comparator<T>并将其作为额外参数传递给Collections.sort

  • 我不明白为什么这个方法的javadoc不是人们检查找到答案的第一个地方! (4认同)