意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

在Java中,可以使用stream的distinct()方法来去重,并且使用collect()方法将结果收集到一个新的集合中。 例如,假设有一个包含重复元素的List

来源:恒创科技 编辑:恒创科技编辑部
2024-02-04 13:52:42

在Java中,可以使用stream的distinct()方法来去重,并且使用collect()方法将结果收集到一个新的集合中。

例如,假设有一个包含重复元素的List:

List<Integer>numbers=Arrays.asList(1,2,3,4,5,2,3,4);

要去重并取出重复的元素,可以按照以下步骤进行:




在Java中,可以使用stream的distinct()方法来去重,并且使用collect()方法将结果收集到一个新的集合中。
例如,假设有一个包含重复元素的List

  1. 将List转换为stream:
Stream<Integer>numberStream=numbers.stream();
  • 使用distinct()方法去重:
  • Stream<Integer>distinctStream=numberStream.distinct();
  • 使用collect()方法将结果收集到一个新的集合中:
  • List<Integer>distinctNumbers=distinctStream.collect(Collectors.toList());

    这样,distinctNumbers中就包含了去重后的元素:[1,2,3,4,5]。

    如果要获取重复的元素,可以使用filter()方法来筛选出重复的元素,然后使用collect()方法将结果收集到一个新的集合中。例如,获取重复的元素2、3、4可以按照以下步骤进行:

    1. 将List转换为stream:
    Stream<Integer>numberStream=numbers.stream();
  • 使用filter()方法筛选出重复的元素:
  • Stream<Integer>duplicateStream=numberStream.filter(i->Collections.frequency(numbers,i)>1);
  • 使用collect()方法将结果收集到一个新的集合中:
  • List<Integer>duplicateNumbers=duplicateStream.distinct().collect(Collectors.toList());

    这样,duplicateNumbers中就包含了重复的元素:[2,3,4]。

    上一篇: xshell怎么连接云服务器? 下一篇: MyBatisGenerator是一个用于自动生成MyBatis持久层代码的工具。它可以根据数据库表结构自动生成实体类、Mapper接口以及对应的XML映射文件。 优点