您的位置 首页 java

Java 8 Stream.distinct() 列表去重示例

Java 8 Stream. Distinct () 示例

在这篇文章里,我们将提供 java 8 Stream distinct()示例。 distinct ()返回由该流的 不同元素组成的流 。distinct()是Stream接口的方法。distinct()使用 hashCode ()和equals() 方法来获取不同的元素。因此,我们的类必须实现hashCode()和equals()方法。如果distinct()正在处理 有序流,那么对于重复元素,将保留以遭遇顺序首先 出现的元素,并且以这种方式选择不同元素是稳定的。在 无序流的情况下,不同元素的选择不一定是稳定的 ,是可以改变的。distinct()执行有状态的中间操作。在有序流的并行流的情况下,保持distinct()的稳定性是需要很高的代价的,因为它需要大量的缓冲开销。如果我们不需要保持遭遇顺序的一致性,那么我们应该可以使用通过BaseStream.unordered()方法实现的无序流。

1. Stream.distinct()

distinct()方法的声明如下:

 Stream<T> distinct()  

它是 Stream 接口的方法。在此示例中,我们有一个包含重复元素的 字符串 数据类型列表

DistinctSimpleDemo.java

  1. package com.concretepage;
  2. import java.util.Arrays;
  3. import java.util.List;
  4. import java.util.stream.Collectors;
  5. public class DistinctSimpleDemo {
  6. public static void main (String[] args) {
  7. List<String> list = Arrays.asList( “AA” , “BB” , “CC” , “BB” , “CC” , “AA” , “AA” );
  8. long l = list.stream().distinct().count();
  9. System.out.println( “No. of distinct elements:” +l);
  10. String output = list.stream().distinct().collect(Collectors.joining( “,” ));
  11. System.out.println(output);
  12. }
  13. }

文章来源:智云一二三科技

文章标题:Java 8 Stream.distinct() 列表去重示例

文章地址:https://www.zhihuclub.com/180485.shtml

关于作者: 智云科技

热门文章

网站地图