📜  在Java中合并两个集合(1)

📅  最后修改于: 2023-12-03 14:51:17.249000             🧑  作者: Mango

在Java中合并两个集合

在Java中,我们可以轻松地将两个集合合并成一个集合,无论它们是什么类型。

使用addAll()方法合并集合

我们可以使用addAll()方法将一个集合的所有元素添加到另一个集合中。例如,下面的代码将合并两个List

List<String> list1 = new ArrayList<>(Arrays.asList("apple", "banana", "orange"));
List<String> list2 = new ArrayList<>(Arrays.asList("pear", "grape", "kiwi"));

list1.addAll(list2);

System.out.println(list1); // [apple, banana, orange, pear, grape, kiwi]

在这个示例中,我们首先创建了两个Listlist1list2。然后,我们使用addAll()方法将list2中的所有元素添加到list1中。最后,我们打印出list1的内容,以验证它是否包含了list2中的所有元素。

同样,我们可以使用addAll()方法将两个Set合并为一个Set。例如,下面的代码将合并两个HashSet

Set<String> set1 = new HashSet<>(Arrays.asList("apple", "banana", "orange"));
Set<String> set2 = new HashSet<>(Arrays.asList("pear", "grape", "kiwi"));

set1.addAll(set2);

System.out.println(set1); // [apple, pear, banana, orange, grape, kiwi]

在这个示例中,我们首先创建了两个HashSetset1set2。然后,我们使用addAll()方法将set2中的所有元素添加到set1中。最后,我们打印出set1的内容,以验证它是否包含了set2中的所有元素。

使用Stream API合并集合

我们还可以使用Java 8中引入的Stream API来合并两个集合。例如,下面的代码将使用Stream API将两个List合并为一个List

List<String> list1 = new ArrayList<>(Arrays.asList("apple", "banana", "orange"));
List<String> list2 = new ArrayList<>(Arrays.asList("pear", "grape", "kiwi"));

List<String> mergedList = Stream.concat(list1.stream(), list2.stream())
                                 .collect(Collectors.toList());

System.out.println(mergedList); // [apple, banana, orange, pear, grape, kiwi]

在这个示例中,我们首先创建了两个Listlist1list2。然后,我们使用Stream.concat()方法将list1list2的流合并。最后,我们使用.collect(Collectors.toList())方法将合并后的流转换为List。最终,我们打印出合并后的List内容,以验证它是否包含了list1list2中的所有元素。

同样,我们可以使用Stream API将两个Set合并为一个Set。例如,下面的代码将使用Stream API将两个HashSet合并为一个HashSet

Set<String> set1 = new HashSet<>(Arrays.asList("apple", "banana", "orange"));
Set<String> set2 = new HashSet<>(Arrays.asList("pear", "grape", "kiwi"));

Set<String> mergedSet = Stream.concat(set1.stream(), set2.stream())
                                .collect(Collectors.toSet());

System.out.println(mergedSet); // [apple, pear, banana, orange, grape, kiwi]

在这个示例中,我们首先创建了两个HashSetset1set2。然后,我们使用Stream.concat()方法将set1set2的流合并。最后,我们使用.collect(Collectors.toSet())方法将合并后的流转换为Set。最终,我们打印出合并后的Set内容,以验证它是否包含了set1set2中的所有元素。

结论

在Java中合并两个集合非常容易。我们可以使用addAll()方法将一个集合的所有元素添加到另一个集合中,或者使用Stream API将两个集合合并为一个集合。这使得我们可以轻松地处理各种类型的数据集合,并且实现灵活的编程操作。