Java类问题Collections.sort在Java任何类
在C++中,如果我们添加一些类对象矢量,我们可以按指定如操作者<()或运算符==(一些功能列表中)或运算符!=。
做什么,我们需要在java做了Collections.sort按照我们的意愿
Java类问题Collections.sort在Java任何类
在C++中,如果我们添加一些类对象矢量,我们可以按指定如操作者<()或运算符==(一些功能列表中)或运算符!=。
做什么,我们需要在java做了Collections.sort按照我们的意愿
。
从文档为Collections.sort
:
对指定列表按升序进行,根据其元素的自然顺序。列表中的所有元素都必须实现Comparable接口。此外,列表中的所有元素必须相互可比(即,e1.compareTo(e2)不得为列表中的任何元素e1和e2抛出ClassCastException)。
另外,如果你不控制元素的类型(例如,您已经有了一个List<String>
和要应用自定义排序次序)你实现Comparator<T>
并传递作为一个额外的参数Collections.sort
工作,让你实现你的Comparable<T>
类实现Comparable接口
您的班级需要实施Comparable接口,以便sort
工作。
你需要编写一个Comparator - 通常你只是重写比较方法,该方法返回一个int,+ ve,0或-ve来指示“大于”,“相同”或“小于”这些你选择。有关示例,请参阅我的另一个answers。
您可以实现类似的或可以通过比较器来Collections.sort
我不知道为什么该方法的Javadoc没有人检查来寻找答案的第一名! –
实现一个基本的'Comparator'应该在Java的FAQ部分。 – Moonbeam