使用Java List.sort方法进行排序


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表达式来比较它忽略了大小写。

评论关闭