首先,Set 、List 和 MAP 是 Java 容器框架的三个最重要的接口,Set、List 和 Map 之间的区别是 Java 容器面试时最经常提问的问题之一有时这一问题被问作是什么时候使用 List、Set 和 Map很明显,面试官想知道的是你是否熟悉 Java 容器框架的基础知识要想明确何时使用 List、Set 或者 Map,你首先需要去了解这些接口是什么、它们提供了什么功能Java 里的 List 提供了一个有序且有索引的容器,它允许重复值的出现Set 提供了一个无序的唯一对象的容器,也就是说,Set 不允许重复值,而 Map 提供的则是一个基于键值对以及哈希的数据结构List、Set 和 Map 这三个都是 Java 里的接口,在容器 API 里都有很多现成的实现ArrayList 和 LinkedList 是两个最常使用的 List 实现,LinkedHashSet、TreeSet 和 HashSet 则是最常用的 Set 实现本文我们将具体阐述 Java 语言中 Map、Set 和 Set 的区别并学会什么时候使用 List、Set 或者 Map,今天小编就来聊一聊关于java set与list的区别?接下来我们就一起去研究一下吧!
java set与list的区别
首先,Set 、List 和 MAP 是 Java 容器框架的三个最重要的接口,Set、List 和 Map 之间的区别是 Java 容器面试时最经常提问的问题之一。有时这一问题被问作是什么时候使用 List、Set 和 Map。很明显,面试官想知道的是你是否熟悉 Java 容器框架的基础知识。要想明确何时使用 List、Set 或者 Map,你首先需要去了解这些接口是什么、它们提供了什么功能。Java 里的 List 提供了一个有序且有索引的容器,它允许重复值的出现。Set 提供了一个无序的唯一对象的容器,也就是说,Set 不允许重复值,而 Map 提供的则是一个基于键值对以及哈希的数据结构。List、Set 和 Map 这三个都是 Java 里的接口,在容器 API 里都有很多现成的实现。ArrayList 和 LinkedList 是两个最常使用的 List 实现,LinkedHashSet、TreeSet 和 HashSet 则是最常用的 Set 实现。本文我们将具体阐述 Java 语言中 Map、Set 和 Set 的区别并学会什么时候使用 List、Set 或者 Map。
Set vs List vs Map
前边提到了,Set、List 和 Map 都是接口,它们定义了核心约束,比如一个 Set 约束说明了它不能包含重复值。下边我们就不同的指标对 List、Set 和 Map 进行对比。
重复对象
Java 里 List 和 Set 接口的最主要的区别就在于 List 允许有重复对象而 Set 不允许重复对象。所有的 Set 实现都必须遵循这一约束。Map 的 每个 Entry 都持有两个对象,也就是一个键一个值,Map 可能会持有相同的值对象但键对象必须是唯一的。更多关于 List 和 Set 数据结构的区别请参考这里。
,