内容提要
sorted()方法用于对流中的元素进行排序,可以使用自然顺序或自定义比较器。distinct()方法用于去除流中的重复元素。可以先使用distinct()去重,再使用sorted()排序。
关键要点
-
sorted()方法用于对流中的元素进行排序,可以使用自然顺序或自定义比较器。
-
sorted()方法返回一个排序后的元素流,不会消除重复元素。
-
示例1:自然排序,输出为[1, 2, 3, 4, 4]。
-
示例2:自定义排序,输出为[Charlie, Bob, Alice]。
-
distinct()方法用于去除流中的重复元素,仅保留唯一元素。
-
distinct()方法保留元素的原始顺序,依赖equals()方法判断唯一性。
-
示例:去重后输出为[4, 2, 3, 1]。
-
可以将sorted()和distinct()方法结合使用,先去重再排序。
-
示例:结合使用后输出为[1, 2, 3, 4]。
-
使用sorted()方法时用于按特定顺序排列元素,使用distinct()方法时确保流中没有重复元素。
延伸问答
sorted()方法的主要功能是什么?
sorted()方法用于对流中的元素进行排序,可以使用自然顺序或自定义比较器。
distinct()方法如何处理流中的重复元素?
distinct()方法用于去除流中的重复元素,仅保留唯一元素,并保留元素的原始顺序。
使用sorted()方法时会影响重复元素吗?
使用sorted()方法不会消除重复元素,它会保留所有元素。
如何结合使用sorted()和distinct()方法?
可以先使用distinct()去重,再使用sorted()排序,最终得到唯一且排序后的元素流。
sorted()和distinct()方法的使用场景分别是什么?
使用sorted()方法时用于按特定顺序排列元素,使用distinct()方法时确保流中没有重复元素。
给出一个使用distinct()方法的示例。
示例:去重后输出为[4, 2, 3, 1],代码为:List<Integer> distinctList = numbers.stream().distinct().collect(Collectors.toList());