
集合
谷雨、
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HashSet小结
走进HashSet简述 可以看到,HashSet继承了AbstractSet,实现了Set接口,Set接口又是继承了Collection的。 HashSet源码较少,里面的方法不多,但因为它的去重特性,在某些情况下还是很好用的,下面就照着源码简单分析下。原创 2020-07-23 18:37:19 · 240 阅读 · 0 评论 -
LinkedList那些事
LinkedList底层是双向链表的数据结构,内部用Node包装数据,如UML图可以知道,其继承了AbstractSequentualList类,实现了List接口,同时也实现了Deque接口。结构灵活,可根据实际场景选择使用。原创 2020-07-16 11:07:02 · 371 阅读 · 0 评论 -
简述Arrays中的小彩蛋
通过ArrayList源码中的构造方法,引申出toArray( )方法,从而讲述Arrays类中的内部类ArrayList部分知识点。 并且通过ArrayList和Arrays的部分对比,讲解了System.arraycopy( )和Arrays.copyOf( )方法的异同点。原创 2020-07-07 09:23:01 · 296 阅读 · 0 评论 -
一文浅析ArrayList
一文浅析ArrayList: ArrayList底层为动态数组结构,用一个Object数组存储数据,当数组容量不够时,会实现动态扩容机制。且增删慢,查找快。 实现了RandomAccess接口,具备快速随机访问的能力,因此遍历时,相比较迭代器而言,用for循环通过下标遍历更加快速(当数据量多到一定程度)。 实现了Iterable接口,支持用迭代器的方式访问元素。实现了Serializable接口,内部提供序列化和反序列化方法。原创 2020-07-02 11:45:13 · 424 阅读 · 0 评论 -
HashMap底层源码详解
简介 有关HashMap的面试还是挺多的,平常HashMap用的也比较多,平时都是看博客、刷面试题时了解到的,也没系统的学习一下。个人认为每一个程序员还是有必要去深入了解一下源码的,故写下此篇,以供自己学习,也希望对大家有所帮助。(以下源码均基于java8)。HashMap概览1.HashMap底层是动态数组+链表+红黑树的结构,java7及之前是动态数组+链表的结构,当链表长度到一定时,转化为红黑树,查询元素效率有提高,时间复杂度从O(n)降低到O(logn)。2.HashMap内含一个内部类原创 2020-06-17 10:24:47 · 369 阅读 · 0 评论