Java 将3个列表合并到具有唯一值的单个集合中

Java 将3个列表合并到具有唯一值的单个集合中,java,list,arraylist,collections,set,Java,List,Arraylist,Collections,Set,我有3个Java列表,如下所示 List<Integer> list1 = query1MysqlRepository.getprocessIds(); List<Integer> list2 = query2MysqlRepository.getprocessIds(); List<Integer> list3 = query3MysqlRepository.getprocessIds(); 请建议此处可以使用的集合。您可以使用不允许重复的集合,只需使用a

我有3个Java列表,如下所示

List<Integer> list1 = query1MysqlRepository.getprocessIds();
List<Integer> list2 = query2MysqlRepository.getprocessIds();
List<Integer> list3 = query3MysqlRepository.getprocessIds();
请建议此处可以使用的集合。

您可以使用不允许重复的集合,只需使用
addAll()
方法将
列表的所有元素添加到
集合中即可:

List<Integer> arr1 = new ArrayList<>(Arrays.asList(1,2,3));
List<Integer> arr2 = new ArrayList<>(Arrays.asList(2,3,4)); 
List<Integer> arr3 = new ArrayList<>(Arrays.asList(4,5,6));
Set<Integer> hashSet = new HashSet<>();
hashSet.addAll(arr1);
hashSet.addAll(arr2);
hashSet.addAll(arr3);
hashSet.forEach(System.out::println);
您可以使用不允许重复的,只需使用
addAll()
方法将
列表
的所有元素添加到
集合

List<Integer> arr1 = new ArrayList<>(Arrays.asList(1,2,3));
List<Integer> arr2 = new ArrayList<>(Arrays.asList(2,3,4)); 
List<Integer> arr3 = new ArrayList<>(Arrays.asList(4,5,6));
Set<Integer> hashSet = new HashSet<>();
hashSet.addAll(arr1);
hashSet.addAll(arr2);
hashSet.addAll(arr3);
hashSet.forEach(System.out::println);
List result=Stream.of(列表1、列表2、列表3)
.flatMap(集合::流)
.distinct()
.collect(Collectors.toList());
如果您希望避免将来的任何重复添加:-

Set<Integer> result = Stream.of(list1, list2, list3)
        .flatMap(Collection::stream)
        .collect(Collectors.toSet());
Set result=Stream.of(列表1、列表2、列表3)
.flatMap(集合::流)
.collect(收集器.toSet());
List result=Stream.of(列表1、列表2、列表3)
.flatMap(集合::流)
.distinct()
.collect(Collectors.toList());
如果您希望避免将来的任何重复添加:-

Set<Integer> result = Stream.of(list1, list2, list3)
        .flatMap(Collection::stream)
        .collect(Collectors.toSet());
Set result=Stream.of(列表1、列表2、列表3)
.flatMap(集合::流)
.collect(收集器.toSet());

如果您不想要任何重复的值,您可以使用
集合
您能建议它的外观吗?如果您不想要任何重复的值,您可以使用
集合
您能建议它的外观吗?
Set<Integer> result = Stream.of(list1, list2, list3)
        .flatMap(Collection::stream)
        .collect(Collectors.toSet());