Java集合
文章平均质量分 97
天乔巴夏丶
这个作者很懒,什么都没留下…
展开
-
Java并发包源码学习系列:JDK1.8的ConcurrentHashMap源码解析
文章目录为什么要使用ConcurrentHashMap?ConcurrentHashMap的结构特点Java8之前Java8之后基本常量重要成员变量构造方法tableSizeForput方法存值putValinitTabletreeifyBintryPresizetransferget方法取值get总结参考阅读系列传送门:Java并发包源码学习系列:AbstractQueuedSynchronizerJava并发包源码学习系列:CLH同步队列及同步资源获取与释放Java并发包源码学习系列:AQS共原创 2021-01-23 18:21:39 · 1124 阅读 · 0 评论 -
谈谈使用Iterator操作集合的时候踩的几个坑
文章目录ConcurrentModificationExceptionUnsupportedOperationException移除指定数值ConcurrentModificationException网上关于集合类型使用Iterator遍历需要注意的事项想必大家都已熟知,如果你想要遍历的时候删除集合中的元素,如果你像下面这样写,是会报错的! public void testRemove() { Iterator<String> iterator = list.ite原创 2020-12-13 15:13:57 · 563 阅读 · 1 评论 -
list.size()==0与list==null、emptyList
list.size()与list==null的区别两者的区别是显而易见的,下面这两段就能显示两者差别:List<Integer> list1 = new ArrayList<>();System.out.println(list1.size());//0List<Integer> list2 = null;System.out.println(lis...原创 2020-03-28 21:08:55 · 2125 阅读 · 3 评论 -
【JDK1.8】Java集合源码学习系列:HashMap源码详解
文章目录Java小白的源码学习系列:HashMap官方文档解读基本数据结构基本源码解读基本成员变量构造器巧妙的tableSizeForput方法巧妙的hash方法JDK1.8的putVal方法JDK1.8的resize方法初始化部分数组搬移部分Java小白的源码学习系列:HashMap春节拜年取消,在家花了好多天时间啃一啃HashMap的源码,同样是找了很多很多的资料,有JDK1.7的,也有J...原创 2020-01-27 21:15:27 · 710 阅读 · 3 评论 -
小白学Java:奇怪的RandomAccess
文章目录小白学Java:奇怪的RandomAccessRandomAccess是个啥forLoop与Iterator的区别判断是否为RandomAccess小白学Java:奇怪的RandomAccess我们之前在分析那三个集合源码的时候,曾经说到:ArrayList和Vector继承了RandomAccess接口,但是LinkedList并没有,我们还知道继承了这个接口,就意味着其中元素支持快...原创 2020-01-20 19:14:14 · 153 阅读 · 0 评论 -
小白学Java:迭代器原来是这么回事
文章目录小白学Java:迭代器原来是这么回事迭代器概述迭代器设计模式Iterator定义的方法迭代器:统一方式Iterator的总结小白学Java:迭代器原来是这么回事上一篇,我们谈到了那个古老的迭代器Enumeration,还谈到了取代他的新迭代器——Iterator。相比于以往,这个新物种又有哪些优点呢?迭代器这个词,在没查找许多资料之前,我只知道个大概,我知道它可以用来遍历集合,但是至...原创 2020-01-18 20:00:13 · 315 阅读 · 0 评论 -
【集合源码学习系列】:Vector与Enumeration
文章目录Vector源码学习Vector继承体系Vector核心源码基本属性构造器扩容机制Enumeration概述源码描述具体操作Vector总结Vector源码学习Vector是JDK1.0中的集合,是集合中的老大哥,其中大部分的方法都被synchronized关键字所修饰,与ArrayList和LinkedList不同,它是线程安全的(关于线程安全,之后学习再做系统总结)。但是随着一系列...原创 2020-01-17 23:05:44 · 359 阅读 · 0 评论 -
【集合源码学习系列】:LinkedList
文章目录LinkedList 源码学习LinkedList继承体系LinkedList核心源码Deque相关操作总结LinkedList 源码学习本篇为集合源码学习系列的LinkedList学习部分,如有叙述不当之处,还望评论区批评指正!LinkedList继承体系LinkedList和ArrayList一样,都实现了List接口,都代表着列表结构,都有着类似的add,remove,cl...原创 2020-01-17 16:02:27 · 155 阅读 · 0 评论 -
【集合源码学习系列】:ArrayList
文章目录ArrayList源码学习ArrayList的继承体系ArrayList核心源码ArrayList扩容机制最后的总结ArrayList源码学习本文基于JDK1.8版本,对集合中的巨头ArrayList做一定的源码学习,将会参考大量资料,在文章后面都将会给出参考文章链接,本文用以巩固学习知识。ArrayList的继承体系ArrayList继承了AbstracList这个抽象类,还实...原创 2020-01-15 21:15:13 · 280 阅读 · 0 评论