List合并去重
利用set来实现
Set<Integer> set = new HashSet<>(lista);
set.addAll(listb);
List<Integer> list = new ArrayList<>(set);
利用stream来实现
List<Integer> list1 = Stream.of(lista,listb)
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList());
完整代码参考:
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class CombineList {
public static void main(String[] args) {
List<Integer> lista = new ArrayList<>();
List<Integer> listb = new ArrayList<>();
for (int i = 0; i < 5; i++) {
lista.add(i); // 0 1 2 3 4
listb.add(i+3); // 3 4 5 6 7
}
Set<Integer> set = new HashSet<>(lista);
set.addAll(listb);
List<Integer> list = new ArrayList<>(set);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
List<Integer> list1 = Stream.of(lista,listb)
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList());
for (int i = 0; i < list1.size(); i++) {
System.out.print(list1.get(i) + " ");
}
}
}
输出结果: