合并 Java 同一集合数据

在 Java 编程中,我们经常需要对同一类型的集合数据进行合并操作。合并操作可以将多个集合中的元素合并到一个集合中,以便更方便地进行后续的处理和分析。本文将介绍几种常见的 Java 同一集合数据合并的方法,并给出相应的代码示例。

方法一:使用addAll方法

Java 中的集合类都实现了Collection接口,该接口提供了一个addAll方法,可以将另一个集合中的所有元素添加到当前集合中。下面是使用addAll方法合并两个List集合的示例代码:

List<String> list1 = new ArrayList<>();
list1.add("A");
list1.add("B");

List<String> list2 = new ArrayList<>();
list2.add("C");
list2.add("D");

list1.addAll(list2);
System.out.println(list1);  // 输出 [A, B, C, D]

方法二:使用Collections类的addAll方法

除了使用addAll方法外,我们还可以使用Collections类的addAll方法来实现集合的合并。该方法的使用方式与addAll方法类似,只是将要合并的集合作为第一个参数传入。下面是使用Collections类的addAll方法合并两个Set集合的示例代码:

Set<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);

Set<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);

Collections.addAll(set1, set2.toArray());
System.out.println(set1);  // 输出 [1, 2, 3]

方法三:使用Java 8的Stream API

在Java 8中,引入了Stream API,可以简化对集合数据的处理。我们可以使用Stream的concat方法将两个同一类型的集合合并为一个新的集合。下面是使用Stream API合并两个List集合的示例代码:

List<String> list1 = new ArrayList<>();
list1.add("A");
list1.add("B");

List<String> list2 = new ArrayList<>();
list2.add("C");
list2.add("D");

List<String> mergedList = Stream.concat(list1.stream(), list2.stream())
                                .collect(Collectors.toList());
System.out.println(mergedList);  // 输出 [A, B, C, D]

总结

本文介绍了三种常见的 Java 同一集合数据合并的方法:使用addAll方法、使用Collections类的addAll方法和使用Java 8的Stream API。这些方法可以根据实际需求选择合适的方案来实现集合数据的合并。希望本文对你理解和应用Java集合的合并操作有所帮助。

关系图

下图为代码示例中涉及到的类的关系图:

erDiagram
    class List
    class ArrayList
    class Set
    class HashSet
    class Collections
    class Stream
    class Collectors
    
    List }--|> Collection
    ArrayList }--|> List
    Set }--|> Collection
    HashSet }--|> Set
    Collections }--|> List
    Stream }--|> BaseStream
    Collectors }--|> Object

饼状图

下图为代码示例中涉及到的集合数据的合并结果的饼状图:

pie
    title 合并结果
    "A": 25
    "B": 25
    "C": 25
    "D": 25

通过本文的介绍和代码示例,相信你已经掌握了几种常用的 Java 同一集合数据合并的方法。根据实际情况选择合适的方法,可以提高代码的可读性和效率。希望本文对你的 Java 编程之路有所帮助!