美文网首页
List,Set,Map的区别

List,Set,Map的区别

作者: 芒鞋胜马 | 来源:发表于2018-05-15 13:23 被阅读0次

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的区别

      本文链接:https://www.haomeiwen.com/subject/shlmrftx.html