stream的distinct方法
Streamdistinct法是Java8增加的一个重要方法,它可以轻松地筛选出 Stream 中的重复元素,并返回一个去重后的 Stream象。掌握 Stream distinct法的用法和优势,可以帮助我们更好地进行编程开发。风俗民情
一、Stream distinct法的基本概念
描写秋天的片段 Stream distinct法是 Java 8入的新方法,它返回一个去重后的 Stream象,它用来过滤 Stream 中的重复的元素。它的定义如下:
Stream distinct()
该方法使用Object.equals(Object)来判断是否是重复的元素,并且把Stream 中的元素转化为Set(),Set中不允许有重复的元素,因此这样即可完成对Stream 中重复元素的去重。
二、Stream distinct法的用法
1、基本用法
复函怎么写
使用 Stream distinct法可以简单方便地筛选出 Stream 中的重复元素,下面是一个简单的栗子:
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1,2,3,3,4,5,5);
list.stream().distinct().forEach(System.out::println);
//出:1,2,3,4,5
}
上面的代码中,我们创建了一个包含重复元素的List对象,然后使用distinct()方法过滤掉重复的元素,最后输出 List重后的结果。
2、使用自定义的equals()比较器
distinct()方法在比较元素时使用Object.equals()方法,因此,如果我们想使用自定义的equals()比较器来进行比较,可以使用distinct()方法的另外一个重载版本:
Stream distinct(Comparator<? super T> comparator)
下面是使用自定义的比较器的栗子:
public static void main(String[] args) {
List<String> list = Arrays.asList(helloworldjavaworld
list.stream().distinct(String::compareToIgnoreCa).forEach(System.out::println);
//输出:hello,world,java
}
上面的代码中,我们使用了String的compareToIgnoreCa()方法作为自定义的比较器,相等的元素就不会被输出了。
奖金属于工资吗
女朋友怎么哄 三、Stream distinct法的优势微微一笑桃花开
孝敬的故事
1、使用简单
Stream distinct法能够更加方便简洁地去重 Stream 中的元素,不用像以前那样遍历集合,使用集合类常规的 add()法去重,而是使用 Stream特殊方法 distinct()可以实现,使得代码变得更加简洁。
2、节省时间
由于 distinct()法比传统的遍历集合去重方法更加高效,因此它可以节省大量的时间,使我们的程序更加高效。
四、总结
Stream distinct法是 Java 8增的方法,它用来过滤 Stream 中的重复元素,它的使用简单、高效,可以节省大量的时间。掌握 Stream distinct法的用法和优势,可以帮助我们更好地进行编程开发。