在本文中,我们将看到几个关于如何在Java 8中对List进行排序的示例。
1.按字母顺序排序字符串列表
List<String> cities = Arrays.asList(
"Milan",
"london",
"San Francisco",
"Tokyo",
"New Delhi"
);
System.out.println(cities);
//[Milan, london, San Francisco, Tokyo, New Delhi]
cities.sort(String.CASE_INSENSITIVE_ORDER);
System.out.println(cities);
//[london, Milan, New Delhi, San Francisco, Tokyo]
cities.sort(Comparator.naturalOrder());
System.out.println(cities);
//[Milan, New Delhi, San Francisco, Tokyo, london]
为了更加突出显示Comparator.naturalOrder()
(返回按照大小写字母排序的Comparator)和String.CASE_INSENSITIVE_ORDER
(返回不区分大小写的Comparator)的区别,我们在'London'使用小写的'L'。
基本上,在Java 7
中,我们使用的Collections.sort()
方法接受一个List
参数,最终返回一个Comparator
,而在Java 8
中新的List.sort()
方法,它接受Comparator
参数。
2.对整数列表进行排序
List<Integer> numbers = Arrays.asList(6, 2, 1, 4, 9);
System.out.println(numbers); //[6, 2, 1, 4, 9]
numbers.sort(Comparator.naturalOrder());
System.out.println(numbers); //[1, 2, 4, 6, 9]
3.按字符串字段对列表进行排序
假设我们有