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/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 中的冒泡排序算法对手动链表进行排序
发布时间:2023/10/11 浏览次数:96 分类:Java
-
首先,我们将通过节点示例讨论 Java 中的冒泡排序算法。然后,我们将执行两种方法来演示如何使用手动冒泡排序算法对链表进行排序。
在 Java 中将列表转换为 map
发布时间:2023/10/11 浏览次数:150 分类:Java
-
本教程介绍如何在 Java 中将列表转换为 mapList 允许维护有序的对象集合。Map 对象将键映射到值。在 Java 中,有几种方法可以将对象的 List 转换为 Map。在本文中,我们将学习其中的一些。
在 Java 中按字母顺序对列表进行排序
发布时间:2023/10/11 浏览次数:80 分类:Java
-
本文介绍如何在 Java 中按字母顺序对列表进行排序。本教程介绍如何在 Java 中按字母顺序对元素列表进行排序。List 是一种线性数据类型,用于在 Java 中存储类似类型的元素。