Java 中的连接列表
可以动态增加的有序元素集合称为 List
集合。它被表示为一个 node
元素,每个节点都包含一个到下一个节点和元素的 reference
。我们可以对列表集合执行的操作包括使用索引的元素遍历、插入、更新和删除。
Java 提供了一个 List
接口,该接口为其功能提供了各种方法。列表的多种实现包括 ArrayList
、LinkedList
和 SortedList
。列表的不同属性可以:
- 成为列表中的重复值。
- 存储空元素。
- 动态增长,与大小确定的数组不同。
下面的代码说明了如何创建 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()
方法进行列表连接
如上所述,of
是 Stream
接口中的一个静态方法,它接受元素。所以这些元素可以是原始
数据类型或集合
类。鸟类和动物的集合作为参数传递。现在,flatMap
方法在调用链中被调用,其用途是对传递的流进行处理和转换。
flatMap
方法采用 Function
作为其参数。该方法对元素应用变换并展平结果。在这种情况下,传递 Collection::stream
以转换单个流中的元素,该流在处理后返回。现在使用 collect
方法收集流。
输出与上面的控制台块相同,标题为 Way 3
。
相关文章
如何在 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 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,