📜  java list addAll stream() filtereted - Java (1)

📅  最后修改于: 2023-12-03 15:01:31.286000             🧑  作者: Mango

Java List addAll() & Stream() Filtered

在 Java 中,List 是常见的数据结构,它是一种有序集合,存储着一组具有相同类型的元素。在许多情况下,我们需要将两个或多个 List 合并为一个 List,Java 提供了 addAll() 方法来完成此操作。

List<E> list1 = new ArrayList<>();
List<E> list2 = new ArrayList<>();
list1.addAll(list2);

此代码片段将 list2 中的所有元素添加到 list1 中。

而 Stream 是 Java 8 中引入的一种新的概念,它是一种用于处理集合的高级的函数式编程工具。使用 Stream 可以简化许多集合操作,如过滤、映射、排序等。以下是以 Stream 过滤 List 中元素的示例代码:

List<String> list = new ArrayList<>();
// 添加元素
list.add("apple");
list.add("banana");
list.add("orange");

// 过滤并输出结果
list.stream()
    .filter(e -> e.startsWith("a"))
    .forEach(e -> System.out.println(e));

此代码片段将筛选并输出以'a'开头的所有元素。

对于需要在已有 List 基础上进行过滤操作的情况,我们结合使用 addAll() 和 Stream 进行操作。

以下是示例代码:

List<String> list1 = new ArrayList<>();
// 添加元素
list1.add("apple");
list1.add("banana");
list1.add("orange");

List<String> list2 = new ArrayList<>();
// 添加元素
list2.add("a");
list2.add("b");

// 利用 Stream 对 list1 进行过滤,并将结果添加到 list2 中
list1.stream()
    .filter(e -> e.startsWith("a"))
    .forEach(list2::add);

此代码片段将筛选 list1 中所有以'a'开头的元素,并将结果添加到 list2 中。