集合
文章平均质量分 90
Java集合原理及源码相关
QiaoRui_
公众号:哈哈的Java之旅
展开
-
HashMap HashTable HashSet源码解读
一 HashMap HashTable HashSet HashMap是一个散列表,存储的内容是键值对(key-value)映射。它继承于AbstractMap,实现了Map、Cloneable、Serializable接口。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。HashMap中的映射不是有序的。JDK1.6中,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是...原创 2021-07-20 16:20:20 · 174 阅读 · 0 评论 -
LinkedList源码解读
一 LinkedListLinkedList 是一个双向链表结构(JDK1.6 之前为循环链表,JDK1.7 取消了循环),在任意位置插入删除都很方便,但是不支持随机取值,每次都只能从一端开始遍历,直到找到查询的对象,然后返回;不过,它不像 ArrayList 那样需要进行内存拷贝,因此相对来说效率较高,但是因为存在额外的前驱和后继节点指针,因此占用的内存比 ArrayList 多一些。LinkedList采用链表存储,所以对于add(E e)方法的插入,删除元素时间复杂度不受元素位置的影响,近似.原创 2021-04-17 18:13:25 · 493 阅读 · 0 评论 -
ArrayList与Vector源码解读
一 ArrayList与Vector区别vector是jdk1.0提供的,arrayList是jdk1.2提供的升级版 vector是线程安全的,在所有写操作上都添加了synchronized关键字,arrayList是线场不安全的 vector和arrayList的内部实现几乎一样,而且实现线场安全List list = Collections.synchronizedList(new ArrayList(...)),这是源码注释里写明的,相当于jdk已不推荐使用vector vector和ar原创 2021-04-01 21:36:05 · 172 阅读 · 1 评论 -
Java集合体系及相关知识点
一 Java集合体系Java集合大致可分为2个体系,一个Collection;一个Map;Collection :主要由List、Set、Queue接口组成,List代表有序、重复的集合;其中Set代表无序、不可重复的集合;Java 5 又增加了Queue体系集合,代表一种队列集合实现。 Map:则代表具有映射关系的键值对集合。java.util.Collection 下的接口和继承类关系简易结构图:java.util.Map 下的接口和继承类关系简易结构图:二 List,.原创 2021-03-15 21:05:04 · 239 阅读 · 2 评论