java - 按字母顺序排列(列表)

Jak*_*ake 4 java arraylist alphabetical

可能重复:
按字母顺序排序列表

如何按字母顺序存储输入,我将名称输入到arraylist中:

    persons.add(person);
Run Code Online (Sandbox Code Playgroud)

怎么做?

小智 9

实现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;
    }

}
Run Code Online (Sandbox Code Playgroud)

然后用 Collections.sort(/* list here */, /* comparator here*/)


Ger*_*ser 5

试试这个:

 java.util.Collections.sort(people);
Run Code Online (Sandbox Code Playgroud)


pri*_*inn 5

Collection<Person> listPeople = new ArrayList<Person>();
Run Code Online (Sandbox Code Playgroud)

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;
 }

}
Run Code Online (Sandbox Code Playgroud)

一旦你有了这个,你在课堂上添加人,当你完成添加后,输入:

Collections.sort(listPeople);
Run Code Online (Sandbox Code Playgroud)