可能重复:
按字母顺序排序列表
我如何按字母顺序存储我的输入,我将名称输入到一个数组列表中:
persons.add(person);
怎么做?
实现Comparator< T >
接口
class A implements Comparator < Person > {
@Override
public int compare(Person o1, Person o2) {
if(o1.getName() != null && o2.getName() != null){
return o1.getName().compareTo(o2.getName());
}
return 0;
}
}
然后使用Collections.sort(/* list here */, /* comparator here*/)
Collection<Person> listPeople = new ArrayList<Person>();
Person.java 类将实现 Comparable
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);
尝试这个:
java.util.Collections.sort(people);
使用 TreeSet 而不是 ArrayList