java集合类
z真真
我是咸鱼,我是咸鱼,我是咸鱼!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ConcurrentHashMap
参考:Java并发编程总结4——ConcurrentHashMap在jdk1.8中的改进如何扩容?转载 2019-05-09 11:03:29 · 135 阅读 · 0 评论 -
TreeMap jdk1.8源码分析
TreeMap特性:基于红黑树实现的有序Map集合不允许key值为空public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.Serializable{ //外部比较器,可以为n...原创 2019-05-06 16:14:27 · 384 阅读 · 0 评论 -
TreeSet jdk1.8源码分析
TreeSet特点不允许添加重复元素(重复元素的判定:Comparator或者Comparable的比较方法返回0)重复元素添加不会覆盖不允许添加空元素null有序集合(要么元素实现Comparable接口,或者给TreeSet指定Comparator(优先级更高),否则会报classCastException)TreeSet源码:基于TreeMap,有序其余特性与T...原创 2019-05-06 14:12:52 · 351 阅读 · 0 评论 -
HashSet jdk1.8源码分析
HashSet的特点:不允许重复元素(怎么定义重复元素:hashcode相同且 equals匹配成功)允许null值 (有且只能存储一个)查找效率高(基于HashMap)HashSet实现原理:基于HashMap,集合里的每一个元素是HashMap的key值,HashMap的value值固定为PRESENTPRESENT是HashSet中的私有静态常量co...原创 2019-05-06 11:20:09 · 253 阅读 · 0 评论 -
Comparable和Comparator比较
Comparable和comparator都是接口1、比较者大于被比较者(也就是compareTo方法里面的对象),那么返回正整数2、比较者等于被比较者,那么返回03、比较者小于被比较者,那么返回负整数1、ComparableComparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过Colle...原创 2019-04-30 16:44:36 · 293 阅读 · 0 评论 -
LruCache使用原理
上一篇:LinkedHashMap jdk1.8基础和源码分析LruCache缓存的核心:LRU(Least Recently Used)最近最少使用算法,即当缓存快要满时,会优先淘汰那些近期最少使用的缓存对象。LruCache的核心是LinkedHashMap,LinkedHashMap的accessOrder为true,表示按访问顺序进行迭代;建议先看LinkedHashMap jdk1...原创 2019-01-17 14:46:17 · 279 阅读 · 0 评论 -
LinkedHashMap jdk1.8基础和源码分析
上一篇文章:HashMap jdk1.8基础和源码分析// LinkedHashMap继承自HashMap,实现了Map接口public class LinkedHashMap&amp;amp;lt;K,V&amp;amp;gt; extends HashMap&amp;amp;lt;K,V&amp;amp;gt; implements Map&amp;amp;lt;K,V&amp;amp;gt;原创 2019-01-17 14:46:26 · 522 阅读 · 0 评论 -
HashMap jdk1.8基础和源码分析
HashMap是基于哈希表的Map实现哈希表的特点:关键字 key 和它在表中的存放位置 bucketIndex 之间存在一种确定的关系。即bucketIndex = hash(key)哈希函数:一般情况下,需要在关键字与它在表中的存储位置之间建立一个函数关系,以f(key)作为关键字为key的记录在表中的位置,通常称这个函数f(key)为哈希函数。hash : 翻译为“散列”,就是把任意长...原创 2019-01-17 14:46:49 · 231 阅读 · 0 评论 -
ArrayList jdk1.8基础和源码分析
ArrayList是基于数组实现的列表,数组的物理存储空间连续,修改和查看的复杂度为O(1),添加和删除需要更多操作。构造函数ArrayList()public class ArrayList&lt;E&gt; extends AbstractList&lt;E&gt; implements List&lt;E&gt;, RandomAccess, Cloneable, jav...原创 2019-01-17 14:47:00 · 221 阅读 · 0 评论 -
LinkedList jdk1.8基础和源码分析
上一篇文章ArrayList jdk1.8基础和源码分析LinkedList是基于链表实现的,物理存储空间不连续,插入删除简单,查找修改都需要进行遍历。LinkedList实现List接口,能对它进行队列操作,即可以根据索引来随机访问集合中的元素。同时它还实现Deque接口,即能将LinkedList当作双端队列使用。自然也可以被当作"栈来使用"。Node节点双向链表LinkedLis...原创 2019-01-17 14:47:11 · 297 阅读 · 0 评论 -
实现的简易栈
java 栈(stack)是一种FILO(first in last out)先进后出的结构。 举例:一个盒子里依次放入A、B、C、D四块砖,取出的顺序是D、C、B、A。即D最后放入,最先取出。java 队列(queue)是一种FIFO(first in first out)先进先出的结构。 举例:食堂排队打饭,A、B、C、D依次按序到达,A、B、C、D依次离开。即A最先到达,A最先离开。...原创 2018-07-02 18:49:17 · 678 阅读 · 0 评论 -
二叉树
深入学习二叉树(一) 二叉树基础关于二叉树的前序、中序、后序三种遍历史上最清晰的红黑树讲解(上)转载 2019-05-06 17:58:38 · 156 阅读 · 0 评论
分享