List:
实现Collection接口,本身也是接口。
允许有重复元素。任何数量的重复元素都可以在不影响现有重复元素的值及其索引的情况下插入到 List。
允许任意数量的空值。
List 及其所有实现类保持了每个元素的插入顺序。
List:ArrayList、LinkedList 等等。
Set:
实现Collection接口,本身也是接口。
不允许重复。Set 以及所有实现了 Set 接口的类都不允许重复值的插入。
最多允许一个空值的出现。
元素都是无序的;但某些 Set 的实现类以某种顺序对其中的元素进行排序,比如 LinkedHashSet 按照元素的插入顺序进行排序。
HashSet、LinkedHashSet、TreeSet、SortedSet 等等。
Map:
源码里面的Map并不是实现Collection的接口
public interface Map<K, V> {
// Query Operations
······
}
以键值对的形式对元素进行存储。Map 不允许重复键但允许重复值。
只允许出现一个空键但允许任意数量的空值。
Map 跟 Set 一样对元素进行无序存储,但其某些实现类对元素进行了排序。比如,TreeMap 依据键对其中的元素进行升序排序而 LinkedHashMap 则按照每个元素的插入次序进行排序。
HashMap、TreeMap、WeakHashMap、LinkedHashMap、IdentityHashMap 等等。
List,Set,Map的区别
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 一、前言 Java集合主要分为三种类型:Set(集)、List(列表)和Map(映射)。 先简单说下集合和数组的区...
- 本篇文章带你从Java源码深入解析关于Java容器的概念。 参考文献: Java容器相关知识全面总结 Java官方...
- 就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的...