Java 程序:合并两个列表

要理解此示例,您应了解以下Java编程主题


示例 1:使用 addAll() 合并两个列表

import java.util.ArrayList;
import java.util.List;

class Main {
  public static void main(String[] args) {

    // create first list
    List<Integer> prime = new ArrayList<>();
    prime.add(2);
    prime.add(3);
    prime.add(5);
    System.out.println("First List: " + prime);

    // create second list
    List<Integer> even = new ArrayList<>();
    even.add(4);
    even.add(6);
    System.out.println("Second List: " + even);

    // create merged list
    List<Integer> numbers = new ArrayList<>();
    numbers.addAll(prime);
    numbers.addAll(even);

    System.out.println("Merged List: " + numbers);

  }
}

输出

First List: [2, 3, 5]
Second List: [4, 6]
Merged List: [2, 3, 5, 4, 6]

在上面的示例中,我们有两个名为 primeeven 的列表。我们使用 Java ArrayList addAll() 方法将 primeeven 中的所有元素添加到名为 numbers 的新列表中。


示例 2:使用 Stream 类合并两个列表

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

class Main {
  public static void main(String[] args) {

    // create first list
    // asList() converts the array into the arraylist
    List<Integer> prime = new ArrayList<>(Arrays.asList(2, 3, 5));
    System.out.println("First List: " + prime);

    // create second list
    List<Integer> even = new ArrayList<>(Arrays.asList(4, 6));
    System.out.println("Second List: " + even);

    // convert both lists into stream
    Stream<Integer> list1 = prime.stream();
    Stream<Integer> list2 = even.stream();

    // merge two streams
    Stream<Integer> merged = Stream.concat(list1, list2);

    // convert the merged stream into list
    List<Integer> numbers = merged.collect(Collectors.toList());

    System.out.println("Merged List: " + numbers);

  }
}

输出

First List: [2, 3, 5]
Second List: [4, 6]
Merged List: [2, 3, 5, 4, 6]

在上面的示例中,我们使用 Stream 类合并了两个列表。这里:

  • stream() - 将列表转换为流
  • concat() - 合并两个流
  • collect(Collectors.toList()) - 将流转换为列表

要了解更多关于流的信息,请访问 Java Stream Class

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战