迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > 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

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

本文地址:

相关文章

如何在 Java 中延迟几秒钟的时间

发布时间:2023/12/17 浏览次数:217 分类:Java

本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。

如何在 Java 中把 Hashmap 转换为 JSON 对象

发布时间:2023/12/17 浏览次数:187 分类:Java

它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。

如何在 Java 中按值排序 Map

发布时间:2023/12/17 浏览次数:171 分类:Java

本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map 进行排序,并列出了一些示例代码来理解它。

如何在 Java 中打印 HashMap

发布时间:2023/12/17 浏览次数:192 分类:Java

本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。

在 Java 中更新 Hashmap 的值

发布时间:2023/12/17 浏览次数:146 分类:Java

本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。

Java 中的 hashmap 和 map 之间的区别

发布时间:2023/12/17 浏览次数:79 分类:Java

本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,

在 Java 中获取用户主目录

发布时间:2023/12/17 浏览次数:218 分类:Java

这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。

Java 中 size 和 length 的区别

发布时间:2023/12/17 浏览次数:179 分类:Java

这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。

Java 中的互斥锁

发布时间:2023/12/17 浏览次数:111 分类:Java

了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便