跳到主要内容

Java程序合并两个列表

要理解这个示例,你应该具备以下 Java 编程 主题的知识:

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

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

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

// 创建第一个列表
List<Integer> prime = new ArrayList<>();
prime.add(2);
prime.add(3);
prime.add(5);
System.out.println("第一个列表: " + prime);

// 创建第二个列表
List<Integer> even = new ArrayList<>();
even.add(4);
even.add(6);
System.out.println("第二个列表: " + even);

// 创建合并后的列表
List<Integer> numbers = new ArrayList<>();
numbers.addAll(prime);
numbers.addAll(even);

System.out.println("合并后的列表: " + numbers);

}
}

输出

第一个列表: [2, 3, 5]
第二个列表: [4, 6]
合并后的列表: [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) {

// 创建第一个列表
// asList() 将数组转换为 arraylist
List<Integer> prime = new ArrayList<>(Arrays.asList(2, 3, 5));
System.out.println("第一个列表: " + prime);

// 创建第二个列表
List<Integer> even = new ArrayList<>(Arrays.asList(4, 6));
System.out.println("第二个列表: " + even);

// 将两个列表转换为流
Stream<Integer> list1 = prime.stream();
Stream<Integer> list2 = even.stream();

// 合并两个流
Stream<Integer> merged = Stream.concat(list1, list2);

// 将合并后的流转换为列表
List<Integer> numbers = merged.collect(Collectors.toList());

System.out.println("合并后的列表: " + numbers);

}
}

输出

第一个列表: [2, 3, 5]
第二个列表: [4, 6]
合并后的列表: [2, 3, 5, 4, 6]

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

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

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