java - 找不到符号(arrayList排序集合)

时间:2010-12-23 14:22:28

标签: java collections

我在将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);

3 个答案:

答案 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对象比另一个更“大”或“更小”。

See the docs for details.

所以,选项1

class Person implements Comparable {
    ...
}

Collections.sort(list);

和选项2

Collections.sort(list, myCustomComparator);

答案 2 :(得分:2)

您应该实施Comparable < T > Interface