迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

Java 中的连接列表

作者:迹忆客 最近更新:2023/10/16 浏览次数:

可以动态增加的有序元素集合称为 List 集合。它被表示为一个 node 元素,每个节点都包含一个到下一个节点和元素的 reference。我们可以对列表集合执行的操作包括使用索引的元素遍历、插入、更新和删除。

Java 提供了一个 List 接口,该接口为其功能提供了各种方法。列表的多种实现包括 ArrayListLinkedListSortedList。列表的不同属性可以:

  • 成为列表中的重复值。
  • 存储空元素。
  • 动态增长,与大小确定的数组不同。

下面的代码说明了如何创建 Java 连接列表:

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

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

        List<String> birds_list = Stream.of("pigeon", "crow", "squirrel").collect(Collectors.toList()); //Java 8
        List<String> animal_list = List.of("cat", "dog", "rabbit"); //Java 9

        System.out.println("Way 1");
        List<String> stringArrayList = new ArrayList<String>(); //Java7
        stringArrayList.addAll(birds_list);
        stringArrayList.addAll(animal_list);
        System.out.println(stringArrayList);

        System.out.println("Way 2");
        List<String> newList = Stream.concat(birds_list.stream(), animal_list.stream())
                .collect(Collectors.toList());
        System.out.println(newList);

        System.out.println("Way 3");
        List<String> newList2 = Stream.of(birds_list, animal_list)
                .flatMap(Collection::stream)
                .collect(Collectors.toList());
        System.out.println(newList2);
    }
}

在上面的代码块中,前两行初始化了我们想要连接的列表。

列表初始化的第一种方式是在声明本身时赋予元素。因此,根据 Java 8 方法,使用 Stream 接口。流充当数据源的包装器,并提供操作和处理数据的方法。of 静态方法接受并创建所提供元素的顺序流作为参数,并返回元素流。我们执行的操作链在 Java 8 中。collect 方法是一个终端操作,它收集归约后提供的 stream

初始化列表的另一种方法是使用 Java 9 版本。它提供了一种使用创建不可变列表的 List.of 静态工厂方法来初始化列表的便捷方法。

最后,传统上使用 Java 7 版本初始化组合的 List 对象。使用 newList 实例调用 addAll() 方法。该方法将指定的集合附加到其末尾标识的集合。当附加列表成功时,它返回 true。当传递的列表集合为空时,该方法可以抛出 NullPointerException

组合列表实例现在包含 birds_list 集合。类似地,animal_list 实例被添加到 stringArrayList。最后,在打印列表后,它会创建一个一个接一个附加的顺序集合。

下面是代码块的控制台输出:

Way 1
[pigeon, crow, squirrel, cat, dog, rabbit]
Way 2
[pigeon, crow, squirrel, cat, dog, rabbit]
Way 3
[pigeon, crow, squirrel, cat, dog, rabbit]

在 Java 8 中使用 cacat() 方法进行列表连接

图示使用相同的代码块来显示 concat() 方法——它在 Stream 接口中是静态的。当终端操作应用于函数时,它被视为中间操作或延迟初始化。concat() 方法采用两个要连接的流。它从我们作为参数传递的两个流中返回组合列表。通过这个方法,collect 函数被调用以将流转换为所需的格式。该函数将收集器作为参数,在我们的例子中,传递 Collectors.toList() 函数以减少 List 类型的流。

输出将类似于第一个代码块,并在上面的控制台日志中打印在 Way 2 语句下。


在 Java 8 中使用 Stream.of() 方法进行列表连接

如上所述,ofStream 接口中的一个静态方法,它接受元素。所以这些元素可以是原始数据类型或集合类。鸟类和动物的集合作为参数传递。现在,flatMap 方法在调用链中被调用,其用途是对传递的流进行处理和转换。

flatMap 方法采用 Function 作为其参数。该方法对元素应用变换并展平结果。在这种情况下,传递 Collection::stream 以转换单个流中的元素,该流在处理后返回。现在使用 collect 方法收集流。

输出与上面的控制台块相同,标题为 Way 3

上一篇:在 Java 中对列表进行排序

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Java 中对列表进行排序

发布时间:2023/10/16 浏览次数:169 分类:Java

列表是一个有序集合,可以以任何顺序存储项目。我们可以将传统算法应用于列表。本教程将演示如何使用不同的函数在 Java 中对列表进行排序。

在 Java 中创建并发列表

发布时间:2023/10/16 浏览次数:127 分类:Java

本文介绍如何在 Java 中制作并发列表。并发是在并行运行中运行程序或函数的过程。当多个线程在同一个方法上工作时,它可以减少时间并增加吞吐量。

Java 中排序链表

发布时间:2023/10/16 浏览次数:126 分类:Java

本文介绍如何在 Java 中对链表进行排序。Java 中的链表是一种数据结构或集合,允许用户在内存中创建动态数组。该列表不包含任何预定义的大小。

在 Java 中将集合转换为列表

发布时间:2023/10/16 浏览次数:173 分类:Java

本文提供并解释了在 Java 中将集合转换为列表的各种方法。本文将介绍和讨论在 Java 中将集合转换为列表的不同方法。在 Java 中使用构造函数将集合转换为列表

在 Java 中将 Stream 转换为列表

发布时间:2023/10/16 浏览次数:151 分类:Java

本文介绍 Java 中 Stream 到 List 的转换。本教程介绍了 Java 中 Stream 到 List 的转换。Stream 是对象的集合。Stream 不存储任何数据,因此它不是数据结构。

在 Java 中将 map 值转换为列表

发布时间:2023/10/16 浏览次数:104 分类:Java

在本教程中,我们将执行三个程序来向你展示如何将 Hashmap 值转换为 Java 中的列表。所有示例都是动态的,并且包含构建可靠逻辑的有用方法。

在 Java 中将列表转换为 map

发布时间:2023/10/11 浏览次数:150 分类:Java

本教程介绍如何在 Java 中将列表转换为 mapList 允许维护有序的对象集合。Map 对象将键映射到值。在 Java 中,有几种方法可以将对象的 List 转换为 Map。在本文中,我们将学习其中的一些。

在 Java 中按字母顺序对列表进行排序

发布时间:2023/10/11 浏览次数:80 分类:Java

本文介绍如何在 Java 中按字母顺序对列表进行排序。本教程介绍如何在 Java 中按字母顺序对元素列表进行排序。List 是一种线性数据类型,用于在 Java 中存储类似类型的元素。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便