java容器

2019-02-19  本文已影响0人  yutz

容器”其实就是一种用来存储数据的数据结构,在JAVA中容器可分为即“集合”(Set)、“列表”(List)、“映射”(Map)。


image.png

Collection

一个独立元素的序列,这些元素都服从一条或多条规则。其中List必须按照插入的顺序保存元素、Set不能有重复的元素、Queue按照排队规则来确定对象的产生顺序(通常也是和插入顺序相同)

List:

ArrayList:使用数组实现,随机访问快,而插入移除比较慢
LinkedList:使用链式存储,插入和删除快,提供了优化的顺序访问,但是在随机访问方面相对较慢

Set:

HashSet:使用哈希表,查询速度快
TreeSet:基于 TreeMap 的 NavigableSet 实现。使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator进行排序,具体取决于使用的构造方法。

Map

一组成对的值键对对象,允许用键来查找值。ArrayList允许我们用数字来查找值,它是将数字和对象联系在一起。而Map允许我们使用一个对象来查找某个对象,它也被称为关联数组。或者叫做字典。

HashMap:数组方式存储key/value,线程非安全,允许null作为key和value,key不可以重复,value允许重复,不保证元素迭代顺序是按照插入时的顺序,key的hash值是先计算key的hashcode值,然后再进行计算,每次容量扩容会重新计算所以key的hash值,会消耗资源,要求key必须重写equals和hashcode方法

上一篇 下一篇

猜你喜欢

热点阅读