Java 中 List vs Set vs Map

10 Sept 2024 | 4 分钟阅读

在本文中,您将了解 List、Set 和 Map 之间的区别。但在讨论差异之前,您必须了解 List、Set 和 Map 及其示例。

List 接口是什么?

Java 集合接口的子接口 称为 List 接口。它提供基于索引的方法来 添加、更新、删除和搜索 元素。允许重复元素,并且列表也可以包含 null 条目。列表支持位置访问和插入元素,同时保持插入顺序。它位于 java.util 包 中。为了更好地理解,让我们看一个说明,您可以在其中看到如何使用列表接口在 Java 中添加元素。

示例

输出

BMW
Hundai
Toyota
Swift

什么是 Set?

Set 存在于 Java 中,并使用 无序方法。Java 的集合接口通过 util 包 得到增强。在 Set 中,重复项不会在输出中打印,也不会被计入。为了更好地理解,让我们看一个示例,您将在其中看到如何使用 Java 中的 Set 接口添加项。让我们看一下。

示例

输出

[Java, Operating System, DBMS, Machine Learning, Python]

什么是 Map?

Java Map,或 java.util.Map,是一个 Java 接口。"map" 一词表示一个 和一个 。Java Map 能够更详细地 存储键。每个键都关联一个单独的值,保存到 Map 中后,以后只能通过键检索该值。为了更好地理解,让我们看一个示例,您可以在其中看到如何通过利用 Map 接口在 Java 中添加项。

示例

输出

Rahul 103
Shyam 102
Krishna 104
Rajat 101

List、Set 和 Map 的头对头比较

在这里,您将了解 List、Set 和 Map 之间的头对头比较。List、Set 和 Map 的主要区别如下:

列表SetMap
列表接口中的元素可以重复。Set 不允许重复元素。Map 不允许重复元素。
List 保留包含顺序。Set 不维护插入顺序。此外,Map 也不维护插入顺序。
可以添加任意数量的 null 值。但 Set 中只有一个 null 值。Map 中可以包含任意数量的 null 值和最多一个 null 键。
LinkedList 和 ArrayList 是用于列表实现的类。用于实现 Set 的类包括 HashSet、LinkedHashSet 和 TreeSet。HashMap、HashTable、ConcurrentHashMap 和 LinkedHashMap 是不同的 Map 实现类。
List 有一个 get() 方法,允许您通过索引检索条目。无法使用 get 方法从 Set 中检索给定索引处的元素。Map 不提供 get 方法来检索特定索引处的元素。
如果您经常需要使用索引访问元素,则可以使用 List。如果您希望构建一个不重复元素的集合,可以使用 Set。Map 可用于以键值对的形式存储数据。
Listlterator 方法返回 Listlterator 以迭代 List 中的元素。可以使用迭代器遍历 Set 元素。它提供了三种类型的迭代器,包括值集和键集。