Java Collections
文章平均质量分 86
source code,no secret
河海哥yyds
正经人谁写代码吖!哦对了,我没说我是正经人。
展开
-
java8 ArrayList全解析、一份很好的ArrayList学习资料
java8 ArrayList全解析、一份很好的ArrayList学习资料????问题一:为什么不能一边遍历,一边添加删除?☘️代码示例:ArrayList<String> arrayList = new ArrayList<>();arrayList.add("a");for (String a : arrayList) { arrayList.add(a);}----output----Exception in thread "main" java.uti原创 2021-07-02 15:10:59 · 357 阅读 · 2 评论 -
新手读源码__JAVA中的Stack、Queue、Deque、PriorityQueue实现
前景继续昨天安装UML插件,构建了大概的Queue类图,今天好好研究下细节类图Queue所有的关于Queue的类都实现了Queue这个接口,我们先看看最基本的Queue都包含哪些内容 方法 作用 add(E) 入队 element() 返回队列头 offer(E) 入队 peek() 返回队列头 po...原创 2018-05-16 20:08:27 · 333 阅读 · 0 评论 -
新手读源码__java中的4种引用+WeakHashMap的弱引用的底层实现
前言在《深入JVM》中提到过四种引用,但是对它们的认识却很少。如今又遇到了WeakHashMap,里面是弱引用,所以回过头来把4种引用的坑填上。通过本篇文章你可以了解:4种引用引用的几种状态如何实现弱引用的回收WeakHashMap中弱引用回收机制笔者源码来自JAVA94种引用 引用 介绍 强引用 不会被GC的引用 弱...原创 2018-05-18 16:19:49 · 425 阅读 · 0 评论 -
新手读源码__subList和AsList使用细节,视图的底层应用
前言作为Java集合部分最后一小块内容,我这里决定谈谈两个方法subList和asList方法,书上对这两个方法的讲解不多,有几点是需要我们注意的subList功能:subList和subString的功能一样,都是用来切割用的。但是它们两者还是有微小的区别的。让我们通过实例来看看视图public class SubListTest { public st...原创 2018-05-19 15:31:06 · 442 阅读 · 0 评论 -
新手学源码__Stack底层实现
原创 2018-05-08 16:01:21 · 705 阅读 · 0 评论 -
新手读源码__LinkedLIst
前景上次学习了第一个集合ArrayList,今天看看第二个LinkedListLInkedList非同步,线程不安全链接表的优势链接表的优势正好弥补了数组列表的缺点,ArrayLIst的底层实现是数组(也就是我们常说的顺序表),而LInkedList是我们经常说的链接表,不妨来对比下它们的优劣顺序表: 优势:高效的访问劣势:插入删除元素的大动干戈,存储空间固定...原创 2018-04-18 15:36:49 · 232 阅读 · 0 评论 -
新手学源码__HashMap底层实现
前言终于来到了HashMap咯!给我的感觉就是面试必备啊- -源码面前,了无秘密HashMap早就听闻HashMap牛逼~快速存取,那么它是如何做到的呢?让我们一步一步地去揭开它的面纱~它不是线程安全的!有modCount了~没错又是它~维护的属性static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //...原创 2018-04-20 13:36:00 · 229 阅读 · 0 评论 -
新手读源码__HashSet
前景看完了HashMap之后,对hash表的认识加深了,再看看hashSetHashSet简介:HashSet也是基于散列而设置的集合,保证了集合的唯一性,无序性维护的属性private transient HashMap<E,Object> map;private static final Object PRESENT = new Object();...原创 2018-04-20 14:34:41 · 202 阅读 · 0 评论 -
新手读源码__HashTable和HashMap,青年人和老年人的碰撞
前言看完了HashMap之后又来到了HashTable,感觉集合也是新手一大不得不迈出去的坎哈~不过最骚的是JDK9里面HashMap和HashTable的实现不大一样 - -,又得重头开始读源码咯~HashTablehashTable也是键值对的散列表,大方向上和HashMap差不多,究竟是什么地方不一样呢?让我们先看看源码,看看底层实现。注意HashTable属于老牌了,并没有...原创 2018-04-20 16:11:20 · 158 阅读 · 0 评论 -
新手读源码__Vector,扩容不单单是2倍
前言上一次分析集合的源码还是4.20,一晃半个月过去了,由于hashMap中遇到了红黑树,于是我决定去看下二叉排序树,AVL,B,B+,RB-Tree,这几种树,然后这10几天中因为《深入理解JVM》到了,也基本上都在看,看到了200页。后悔当时数据结构没好好学,AVL之流都没咋学。不过放下负担,好好去学才是正解,下面进入正题Vector开篇疑问在我看过的资料中,或者博文中,都会简...原创 2018-05-07 17:29:48 · 633 阅读 · 0 评论