关于Java中的集合部分
关于Java中的集合
集合的定义:集合指的是存储对象的引用的类/接口。由于集合中元素(对象)的存储方式不
同,所以每一种集合都代表一种数据结构。
集合的继承结构图
-
Iterablee接口(可迭代的,其中有一个iterator()方法用于获取迭代器对象)
-
Collection接口
-
List接口(有序:集合中的元素有下标,可重复:存入集合中的元素可以相同)
-
ArrayList实现类(非线程安全,底层数据结构为数组)
-
ArrayList集合可以自动扩容。扩容至原来的1.5倍。默认初始化容量是10
-
数组的优点:随即增删效率低,并且数组无法存储大容量的数据,因为很难找到一个连续的大容量空间。
-
优点:向数组末尾添加元素效率较高,查询元素效率较高(原因:数组存储的每个元素所占内存空间大小相同,并且数组的内存地址是连续的,一次通过数学表达式即可计算出数组中某个元素的下标)
-
-
-
Vector实现类(线程安全的,但是效率低 ,因此不常用。底层数据结构为数组,)
-
-
Set接口(无序:集合中的元素没有下标,因此存入该集合中的元素和取出时的元素不一定相同。不可重复:存入该集合中的元素不可以重复)
-
HashSet实现类(底层数据结构为:哈希表)
-
SortedSet接口(无序不可重复,可排序)
-
TreeSet实现类(底层数据结构为二叉树)
-
-
-
-
-
Map接口(以键值对的方式存储对象的引用,Map集合的key部分存储的就是Set集合中的元素)
-
HashMap接口
-
Hashtable实现类(线程安全,但效率低)
-
Properties实现类(键值对必须都是以字符串的形式存在)
-
-
SortedMap接口(可排序的)
-
TreeMap实现类(底层数据结构为二叉树)
-
-
浙公网安备 33010602011771号