依赖的jar包
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
LamdaDuplicate.java
package com.example.demo.util;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class LamdaDuplicate {
public static void main(String[] args) {
System.out.println("获取list集合中重复的元素:");
test1();
System.out.println("\n计算集合中平方,并且过滤重复的数字:");
test2();
}
public static void test1() {
List<String> list = new ArrayList<String>();
list.add("1");
list.add("1");
list.add("2");
list.add("2");
list.add("3");
List<String> repeatList = list.stream()
.collect(Collectors.toMap(e -> e, e -> 1, (a,b) -> a + b))
.entrySet().stream()
.filter(entry -> entry.getValue() > 1)
.map(entry -> entry.getKey())
.collect(Collectors.toList());
System.out.println("逗号分隔:" + StringUtils.join(repeatList.toArray(), ","));
}
public static void test2() {
List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
List<Integer> squaresList = numbers.stream().map(i -> i*i)
.distinct()
.collect(Collectors.toList());
squaresList.stream().forEach(System.out::println);
}
}
输出
获取list集合中重复的元素:
逗号分隔:1,2
计算集合中平方,并且过滤重复的数字:
9
4
49
25
转载请注明原文地址:https://ipadbbs.8miu.com/read-30316.html