Java List.sort() 方法用于排序List集合中的元素。这一排序可以根据元素的自然顺序,也可以根据我们提供的比较器来决定。
一、基于自然顺序的排序
List.sort()方法可以轻易的对List中的元素进行自然排序。Java的包装类已经实现了Comparable接口,所以List用于基本类型和包装类。
ListintegerList = new ArrayList<>(Arrays.asList(5, 3, 8, 1)); integerList.sort(null); System.out.println(integerList); // prints "[1, 3, 5, 8]"
该片段表示创建了一个整数列表,并使用sort()函数对其进行升序排序。
二、使用Comparator进行排序
List.sort()方法同时也会遇到许多需要自定义排序规则的情况。这时需要使用Comparator。
ListstringList = new ArrayList<>(Arrays.asList("Orange", "apple", "BANANA")); stringList.sort(Comparator.comparing(String::toString)); System.out.println(stringList); // prints "[BANANA, Orange, apple]"
此代码表示创建了一个字符串列表,并使用了Comparator.comparing()方法对其进行了比较。
三、基于lambda表达式的排序
从Java8开始,可以使用Lambda表达式来简化代码的编写。通过自定义和排序List中的对象,您可以使用Lambda表达式.
ListstringList2 = new ArrayList<>(Arrays.asList("Orange", "apple", "BANANA")); stringList2.sort((String s1, String s2) -> s1.compareToIgnoreCase(s2)); System.out.println(stringList2); // prints "[apple, BANANA, Orange]"
这个代码表示创建了一个字符串列表,并且使用lambda表达式来比较它忽略了大小写。