前言:
此时我们对“java中map集合是无序的吗”大体比较看重,我们都想要剖析一些“java中map集合是无序的吗”的相关资讯。那么小编同时在网络上搜集了一些有关“java中map集合是无序的吗””的相关文章,希望小伙伴们能喜欢,朋友们快快来了解一下吧!Java基础 —— 集合(一)集合(一)
数组和集合的区别数组是固定长度的数据结构,而集合是动态的数据结构数组可以包含基本数据类型和对象,集合只能包含对象数组只能存放同一类型的数据,而集合可以蹲房不同类型的数组可以直接访问元素,集合需要通过迭代器或其他方法访问元素集合的分类
根据上图,可以看出,Java中集合的核心就是collection、map、Iterator,Collections是对集合进行操作的工具类,在图中,虚框代表接口或者抽象类,实框是类,实箭头表示继承,虚箭头表示实现;
collection:是集合List、Set、Queue的最基本接口
map:映射表的基础接口
Iterator:迭代器,可以通过迭代器遍历集合中的数据
集合主要可以分为两类(collection和map)
collection:集合List、Set、Queue的最基本接口(单列集合)List:所有元素按照进入先后顺序进行存储,可重复集合,存取顺序一致ArrayList:底层是数组,随机访问,增删慢,查询快,线程不安全扩容机制:ArrayList容量为0时,添加元素需要扩容无参构造:创建ArrayList后容量为0,添加一个元素后,容量变成10,之后正常扩容(为原来的1.5倍)传容量构造:参数为0时,创建ArrayList后容量为0,添加一个元素后,容量为1,之后正常扩容传列表参数:列表为空时,创建ArrayList后容量为0,添加一个元素后,容量为1,之后正常扩容ArrayList容量大于0,且是满的时,添加元素,正常扩容LinkedList:底层是双向链表,增删快,查询慢,线程不安全Vector:和ArrayList基本一样,但是它线程安全Set:不允许包含重复的值(可以为空,但是只能有一个),无序HashSet:使用哈希表存储元素,无序,其底层包装了一个HashMap去实现,所以查询插入速度较快LinkedHashSet:继承自HashSet类,它增加了一个重要特性,就是元素按照插入顺序进行存储TreeSet:底层是基于TreeMap实现,它支持两种排序:自然排序和定制排序Queue:队列,先进先出Map:映射表的基础接口(双列集合)HashTable:用哈希表实现,不可重复key,key不能为空,效率较低,线程安全HashMap:用哈希表实现,不可重复key,key可以为空,效率较高,线程不安全LinkedHashMap:用哈希表和双向链表实现,按照key的插入顺序存储TreeMap:用红黑树算法实现,默认按照所有的key进行升序排序,也可自定义排序方式
标签: #java中map集合是无序的吗