Java容器

1.List (ArrayList ,LinkedList,Vector)

  List 特点:有序,可重复 

1.1.ArrayList

1.1.1 ArrayList类的继承关系图 

1.1.2. ArrayList的基本使用

 

1.1.3.ArrayList源码分析及实现

 ArrayList 底层是通过数组的实现, 在内存中分配连续的存储空间,可以实现动态扩容,遍历和随机访问元素的效率高,添加和删除元素需要移动大量的元素,效率低。

 

1.2.LinkedList

1.2.1.类的继承关系图

 

1.2.2.LinkedList 的基本使用

1.2.1.LinkedList源码分析及实现

 LinkedLis底层是通过双向链表实现,遍历和随机访问的效率比较低,插入和删除元素的效率高。


Vector 底层是通过数组实现,古老的类,基本不使用。

2.Set (HashSet,LinkedHashSet,TreeSet)

Set特点:无序(不等于随机性,存储的数据在底层数组中并非按照数组的索引的顺序添加,而是由根据数据的hash值决定的,不可重复(保证添加的元素按照equals()判断时不能返回true,相同的元素只能添加一次)
HashSet :底层调用HashMap , 添加删除和查询的速度快。
LinkedHashSet: 采用哈希表存储数据,同时采用链表维护次序,添加(有序)
TreeSet :采用二叉树存储结构,实现排序的功能。

3.Map (HashMap,LinkedHashMap,TreeMap)

HashMap :key :无序,唯一 value:无序,不唯一
LinkedHashMap:有序的HashMap
TreeMap: 实现排序。

 

 

每天进步一丢丢

没有完成

 

posted @ 2020-04-25 21:21  阿福聊编程  阅读(169)  评论(0编辑  收藏  举报