我有一个包含国家名称的List<String>对象。我如何按字母顺序对这个列表排序?


当前回答

Java 8,

countries.sort((country1, country2) -> country1.compareTo(country2));

如果String的compareTo不适合您的需要,您可以提供任何其他比较器。

其他回答

通过使用Collections.sort(),我们可以对列表进行排序。

public class EmployeeList {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        List<String> empNames= new ArrayList<String>();

        empNames.add("sudheer");
        empNames.add("kumar");
        empNames.add("surendra");
        empNames.add("kb");

        if(!empNames.isEmpty()){

            for(String emp:empNames){

                System.out.println(emp);
            }

            Collections.sort(empNames);

            System.out.println(empNames);
        }
    }
}

输出:

sudheer
kumar
surendra
kb
[kb, kumar, sudheer, surendra]

假设这些是字符串,使用方便的静态方法sort:

Collections.sort(listOfCountryNames)

这是你要找的东西

listOfCountryNames.sort(String::compareToIgnoreCase)

更简单地说,您可以使用方法引用。

 list.sort(String::compareTo);

Java 8,

countries.sort((country1, country2) -> country1.compareTo(country2));

如果String的compareTo不适合您的需要,您可以提供任何其他比较器。