在Java中,可以使用stream的distinct()方法来去重,并且使用collect()方法将结果收集到一个新的集合中。 例如,假设有一个包含重复元素的List
在Java中,可以使用stream的distinct()方法来去重,并且使用collect()方法将结果收集到一个新的集合中。
例如,假设有一个包含重复元素的List:
List<Integer>numbers=Arrays.asList(1,2,3,4,5,2,3,4);
要去重并取出重复的元素,可以按照以下步骤进行:
- 将List转换为stream:
Stream<Integer>numberStream=numbers.stream();
Stream<Integer>distinctStream=numberStream.distinct();
List<Integer>distinctNumbers=distinctStream.collect(Collectors.toList());
这样,distinctNumbers中就包含了去重后的元素:[1,2,3,4,5]。
如果要获取重复的元素,可以使用filter()方法来筛选出重复的元素,然后使用collect()方法将结果收集到一个新的集合中。例如,获取重复的元素2、3、4可以按照以下步骤进行:
- 将List转换为stream:
Stream<Integer>numberStream=numbers.stream();
Stream<Integer>duplicateStream=numberStream.filter(i->Collections.frequency(numbers,i)>1);
List<Integer>duplicateNumbers=duplicateStream.distinct().collect(Collectors.toList());
这样,duplicateNumbers中就包含了重复的元素:[2,3,4]。
版权声明
本文仅代表作者观点,不代表博信信息网立场。
上一篇:SOME模型与其他模型有哪些区别 下一篇:sqlplus的启动方式有哪几种