![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集合源码
文章平均质量分 69
这里是学习集合源码的记录
只是六号z
请保持那份热爱,来奔赴下一场山海。
展开
-
Java集合常见面试题
原文链接:https://javaguide.cn集合面试常问Java集合框架继承图综合面试题1.说说List、Set、Queue和Map四者的区别、2.集合的底层数据结构3.如何选取集合结构?4.我们为什么要使用集合?List1.ArrayList和Vector的区别?2.ArrayList与LinkedList的区别?3.System.arraycopy()方法和Arrays.copyOf()方法的区别4.ensureCapacity()方法的作用ArrayList扩容Set1.comparable转载 2022-01-15 17:50:04 · 2011 阅读 · 0 评论 -
ArrayDeque源码解析
ArrayDequeDequeArrayDeque1.ArrayDeque简介(双端队列)2.基本属性3.基本方法(1)addFirst(E e)(2)doubleCapacity()(3)addLast(E e)(4)offerFirst(E e)和offerLast(E e)(5)pollFirst()和pollLast()、removeFirst()和removeLast()(6)peekFirst()和peekLast()4.队列中的方法5.Collection方法Deque支持两端元素插入和移原创 2022-01-15 11:10:25 · 270 阅读 · 0 评论 -
PriorityQueue优先队列源码解析
QueueQueue是先入先出(FIFO)的一个队列数据结构,可以分为阻塞队列和非阻塞队列。接口方法://插入元素。成功时返回true,如果失败则抛出异常boolean add(E e);//插入元素。成功时返回true,失败返回falseboolean offer(E e);//检索并删除队列的头部,如果队列为空,则抛出异常E remove();//检索并删除队列的头部,如果队列为空,则返回nullE poll();//检索但不删除队列的头部,如果队列为空,则抛出异常E eleme原创 2022-01-14 22:53:12 · 298 阅读 · 0 评论 -
TreeSet源码解读
1.TreeSet简介TreeSet是基于TreeMap的NavigableSet实现的。public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, java.io.Serializable{实现了NavigableSet,支持排序实现了Colneable接口,可以克隆实现了Serializable,可以进行序列化和反序列化2.基本属原创 2022-01-14 17:46:52 · 148 阅读 · 0 评论 -
HashSet源码解读
1.HashSet简介public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable{继承AbstractSet实现Set接口实现Cloneable接口,可以复制、克隆实现Java.io.Serializable接口,可以序列化特点: HashSet是无序性和唯一性。equals()和hashCode原创 2022-01-14 17:42:53 · 162 阅读 · 0 评论 -
什么是红黑树?漫画版
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/bjweimengshu/article/details/106345677转载 2022-01-13 22:28:42 · 51 阅读 · 0 评论 -
ArrayList源码解读(五)
ArrayList的另外两个内部类一、subList(int fromIndex, int toIndex)二、spliterator()总结一、subList(int fromIndex, int toIndex)//返回此列表中指定的fromIndex (包含)和toIndex (不包含)之间的部分的视图public List<E> subList(int fromIndex, int toIndex) { //判断参数的合法性 subListRangeCheck(原创 2021-12-10 21:42:41 · 129 阅读 · 0 评论 -
ArrayList源码解读(四)
迭代器的两个相关内部类Itr和ListItr前言一、Itr二、ListItr总结前言学习完基本的ArrayList操作方法之后,我们就主要来学习ArrayList的四个内部类,这四个内部类的源码部分几乎占了整个ArrayList源码的三分之二,所以说这四大内部类还是很重要的,所以今天我们来学习下两个和迭代器相关的内部类一、Itr//Itr是ArrayList的普通内部类,实现了Iterator接口,通过ArrayList的itterator()方法得到的是Itr对象//每个Itr对象表示顺序(线原创 2021-12-10 14:05:59 · 283 阅读 · 0 评论 -
ArrayList总结
ArrayList源码总结前言一、要点总结二、优缺点说明前言学习ArrayList源码的过程中,避免不了需要查询许多的博客,学习一下别人的思想,下面分享一篇博客的总结,只是部分总结性的知识点,详情的话请大家点进去看看这篇文章,强烈推荐!一、要点总结这部分主要根据上面的源码进行说明,如果有不太清楚的地方,可以返回上面的源码进行查看。1.ArrayList 其实只是内部维护了一个数组,通过暴露出方便操作的接口来简化操作。2.ArrayList中,size和capacity是两码事,size表示列转载 2021-12-08 22:18:02 · 175 阅读 · 0 评论 -
ArrayList源码解读(三)
ArrayList常用方法前言一、add(int index , E element)1.rangCheckForAdd(int index)2.IndexOutOfBoundsException异常二、remove( int index )1.rangeCheck(int index)2.elementData(int index)三、remove(Object o)四、fastRemove(int index)五、contains(Object o)前言上篇文章着重介绍了一下ArrayL原创 2021-12-08 20:20:09 · 597 阅读 · 0 评论 -
ArrayList源码解读(二)
ArrayList常用方法add()前言ArrayList扩容操作1.ensureCapacityInternal()2.calculateCapacity()3.ensureExplicitCapacity()4.modCount5.grow()6.hugeCapacity()6.Arrays.copyOf()总结前言上一篇文章我对ArrayList集合有了一个简单的介绍,介绍了其基本属性和构造方法,今天我们来学习一些ArrayList常用方法的底层实现。ArrayList扩容操作Array原创 2021-12-07 13:04:20 · 395 阅读 · 0 评论 -
ArrayList源码解读(一)
ArrayList简单介绍前言一、ArrayList介绍二、ArrayList属性介绍二、ArrayList构造函数用户指定容量用户未指定容量总结前言经历过面试考核后,我们也正式开始了源码阶段的学习,这次学习任务主要就是学习源码和一些底层的知识,由于比较难,所以我会做好笔记,分享一下我的学习历程,希望对大家有所帮助。一、ArrayList介绍继承AbstractList,提供相关的修改、删除、遍历等功能实现RandomAccess接口,提供了随机访问功能,可以通过元素序号(下标)访问元素原创 2021-12-06 14:25:10 · 304 阅读 · 0 评论