我在将arrayList排序为以下时遇到问题(是的,我已经导入了util):
Collections.sort(personer);
我有这个清单:
private List<Person> personer;
public Register() {
personer = new ArrayList<Person>();
}
但是我得到了错误:
mittscript.java:45:找不到符号 符号:方法 sort(java.util.List)位置: class java.util.Collections Collections.sort(personer);
答案 0 :(得分:4)
我在您的其他帖子java - alphabetical order (list)
中回答了您我相信如果你这样做,会解决你的问题。
Collection<Person> listPeople = new ArrayList<Person>();
Person.java类将实现 可比
public class Person implements Comparable<Person>{ public int compareTo(Person person) { if(this.name != null && person.name != null){ return this.name.compareToIgnoreCase(person.name); } return 0; } }
一旦你有这个,在课堂上 当你完成时,你正在添加人 添加,输入:
Collections.sort(listPeople);
答案 1 :(得分:2)
sort
中有两个Collections
方法。您可以Person
实现Comparable
接口,也可以将比较器作为第二个参数提供给sort
。
否则,JVM无法知道哪个Person
对象比另一个更“大”或“更小”。
所以,选项1
class Person implements Comparable {
...
}
Collections.sort(list);
和选项2
Collections.sort(list, myCustomComparator);
答案 2 :(得分:2)
您应该实施Comparable < T > Interface