当我们需要对一个List或数组等集合进行排序时,我们可以使用Java8中的Stream.sorted()方法进行排序。下面就详细讲解一下Java8排序Stream.sorted()的使用攻略。
一、Stream的sorted()方法
Stream.sorted()方法是一个中间操作,它返回一个排序好的流,可以对元素进行自然排序或指定Ordering排序。
下面是sorted()方法的语法:
Stream<T> sorted()
Stream<T> sorted(Comparator<? super T> comparator)
- sorted():使用元素的自然顺序对流进行排序。
- sorted(Comparator comparator):使用自定义的comparator对流进行排序。
二、使用自然排序
以下是一个使用自然排序的示例:
List<String> strings = Arrays.asList("hello", "world", "james", "allen");
List<String> sortedList = strings.stream().sorted().collect(Collectors.toList());
System.out.println(sortedList);
上述代码会对一个字符串列表进行排序,并打印出排序后的列表。输出结果为:["allen", "hello", "james", "world"]。
三、使用自定义Comparator排序
以下是一个使用自定义Comparator排序的示例:
List<String> strings = Arrays.asList("hello", "world", "james", "allen");
List<String> sortedList = strings.stream().sorted((s1, s2) -> s1.length() - s2.length()).collect(Collectors.toList());
System.out.println(sortedList);
上述代码会对字符串列表按照字符串长度进行排序,并打印出排序后的列表。输出结果为:["hello", "james", "world", "allen"]。
四、总结
使用Java8的Stream.sorted()方法进行排序非常方便,可以使用自然排序或自定义Comparator排序,使排序变得便捷高效。我们需要注意的是,在进行排序时,原列表的顺序不会改变,Stream.sorted()方法返回的是排序后的新列表。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java8排序stream.sorted()的使用 - Python技术站