2011-07-26 27 views
2

Java类问题Collections.sort在Java任何类

在C++中,如果我们添加一些类对象矢量,我们可以按指定如操作者<()或运算符==(一些功能列表中)或运算符!=。

做什么,我们需要在java做了Collections.sort按照我们的意愿

回答

8

从文档为Collections.sort

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

另外,如果你控制元素的类型(例如,您已经有了一个List<String>和要应用自定义排序次序)你实现Comparator<T>并传递作为一个额外的参数Collections.sort

+4

我不知道为什么该方法的Javadoc没有人检查来寻找答案的第一名! –

+0

实现一个基本的'Comparator'应该在Java的FAQ部分。 – Moonbeam

2

你需要编写一个Comparator - 通常你只是重写比较方法,该方法返回一个int,+ ve,0或-ve来指示“大于”,“相同”或“小于”这些你选择。有关示例,请参阅我的另一个answers

相关问题