Java List.sort() 方法用来对List集合中的元素进行排序。这种排序可以基于元素的自然顺序,也可以基于我们提供的比较器决定。
一、基于自然顺序的排序
使用List.sort()方法,我们可以轻易的对List中的元素进行自然排序。由于Java的包装类已实现了Comparable接口,所以对于基本类型及其包装类,使用List.sort()方法进行排序十分简洁方便。
List integerList = 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。
List stringList = new ArrayList<>(Arrays.asList("Orange", "apple", "BANANA")); stringList.sort(Comparator.comparing(String::toString)); System.out.println(stringList); // prints "[BANANA, Orange, apple]"
此代码表示创建了一个字符串列表,并使用了Comparator.comparing()方法对其进行了比较。
三、基于lambda表达式的排序
从Java 8开始,我们可以使用 Lambda 表达式来简化代码的编写。对List中的对象进行自定义排序,就可以用到Lambda表达式.
List stringList2 = 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表达式对其进行了忽略大小写的比较。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.beidandianzhu.com/g/1320.html