集合
头发阻挡了我对知识的吸收
还没秃的小菜鸡
头发阻挡了我对知识的吸收
展开
-
ConcurrentSkipListMap
特性public class ConcurrentSkipListMap<K,V> extends AbstractMap<K,V> implements ConcurrentNavigableMap<K,V>, Cloneable, Serializable {}public interface ConcurrentNavigableMap<K,V> extends ConcurrentMap<K,V>, Navigable原创 2020-09-22 23:40:27 · 722 阅读 · 0 评论 -
ConcurrentHashMap
特性public class ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap<K,V>, Serializable {}public interface ConcurrentMap<K, V> extends Map<K, V> {}ConcurrentMap:它是一个接口,是一个能够支持并发访问的java.util.map集合;在原原创 2020-09-22 19:42:59 · 181 阅读 · 0 评论 -
Hashtable
特性public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable {}public abstract class Dictionary<K,V> {}Dictionary:Dictionary类是任何可将键映射到相应值的类的抽象父类,每个键和值都是对象Dictionary源码注释指出原创 2020-09-22 16:24:21 · 88 阅读 · 0 评论 -
TreeMap
特性public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.Serializable{}public interface NavigableMap<K,V> extends SortedMap<K,V> {}所有属性前面都概述过,基本特性就是:排序性,可以被克隆,可以被序列化基原创 2020-09-22 14:41:43 · 208 阅读 · 0 评论 -
LinkedHashMap
特性public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>{}LinkedHashMap 直接继承自HashMap ,这也就说明了 HashMap 一切重要的概念 LinkedHashMap 都是拥有的,这就包括了,hash 算法定位 hash 桶位置,哈希表由数组和单链表构成,并且当单链表长度超过 8 的时候转化为红黑树,扩容体系,这一切都跟 HashMap原创 2020-09-21 22:20:17 · 377 阅读 · 0 评论 -
HashMap
特性public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable {HashMap实现了Cloneable,可以被克隆。HashMap实现了Serializable,可以被序列化。HashMap继承自AbstractMap,实现了Map接口,具有Map的所有功能。基本属性 /** * 默认的初始容量为16 */原创 2020-09-21 17:00:04 · 229 阅读 · 1 评论 -
ConcurrentSkipListSet
特性public class ConcurrentSkipListSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, java.io.Serializable {}前面都概述过,不做过多赘述基本属性//基于ConcurrentNavigableMap的存储private final ConcurrentNavigableMap<E,Object>原创 2020-09-20 21:53:58 · 1460 阅读 · 0 评论 -
CopyOnWriteArraySet
特性public class CopyOnWriteArraySet<E> extends AbstractSet<E> implements java.io.Serializable {基本参数 //基于CopyOnWriteArrayList的存储 private final CopyOnWriteArrayList<E> al;构造方法发现CopyOnWriteArraySet是基于CopyOnWriteArrayList/原创 2020-09-20 20:44:56 · 131 阅读 · 0 评论 -
TreeSet
特性public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, java.io.Serializable{NavigableSetNavigableSet表示Java Collection Framework中的可导航集。NavigableSet接口继承自SortedSet接口。它的行为类似于SortedSet,除了SortedSet的排序机原创 2020-09-20 20:30:11 · 142 阅读 · 0 评论 -
LinkedHashSet
实现public class LinkedHashSet<E> extends HashSet<E> implements Set<E>, Cloneable, java.io.Serializable { private static final long serialVersionUID = -2851667679971038690L; /** * 构造一个带有指定初始容量和加载因子的新空链接哈希set。 *原创 2020-09-20 18:22:57 · 273 阅读 · 0 评论 -
HashSet
特性public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable{}采用的也是模版方法模式,继承AbstractSet,其他属性前面概述过。基本属性//元素的存储 private transient HashMap<E,Object> map;//存储元素是在hashMap,key放的数据,valu原创 2020-09-20 13:32:34 · 105 阅读 · 0 评论 -
DelayQueue
特性public class DelayQueue<E extends Delayed> extends AbstractQueue<E> implements BlockingQueue<E> {}DelayQueue是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走,线程安全。基本属性// 并发的锁private final transient ReentrantLock loc原创 2020-09-14 23:10:29 · 118 阅读 · 0 评论 -
PriorityQueue
特性public class PriorityQueue<E> extends AbstractQueue<E> implements java.io.Serializable {}PriorityQueue是基于优先堆的一个无界队列,这个优先队列中的元素可以默认自然排序或者通过提供的Comparator(比较器)在队列实例化的时排序。优先队列的大小是不受限制的,但在创建时可以指定初始大小。当我们向优先队列增加元素的时候,队列大小会自动增加。PriorityQueue是原创 2020-09-14 22:39:04 · 116 阅读 · 0 评论 -
PriorityBlockingQueue
特性public class PriorityBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, java.io.Serializable {}PriorityBlockingQueue是一个支持优先级的无界阻塞队列,即队列里的数据可根据自定义的优先级顺序在队列中浮动。基本属性底层是数组,平衡二叉树堆的实现// 默认容量为11private static fin原创 2020-09-14 22:28:28 · 209 阅读 · 0 评论 -
ConcurrentLinkedQueue
特性public class ConcurrentLinkedQueue<E> extends AbstractQueue<E> implements Queue<E>, java.io.Serializable {}只实现了Queue接口,并没有实现BlockingQueue接口,所以它不是阻塞队列,也不能用于线程池中,但是它是线程安全的,可用于多线程环境中,无界队列。基本属性private transient volatile Node<原创 2020-09-14 21:15:22 · 175 阅读 · 0 评论 -
SynchronousQueue
特性此处不赘述public class SynchronousQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, java.io.Serializable {}特点SynchronousQueue是一种极为特殊的阻塞队列,它没有实际的容量,任意线程(生产者线程或者消费者线程,生产类型的操作比如put,offer,消费类型的操作比如poll,take)都会等待直到获得数据或者交付完成原创 2020-09-13 17:54:46 · 372 阅读 · 0 评论 -
LinkedBlockingQueue
特性前面有概述public class LinkedBlockingDeque<E> extends AbstractQueue<E> implements BlockingDeque<E>, java.io.Serializable {}基本属性// 容量,有界队列private final int capacity;// 元素数量private final AtomicInteger count = new AtomicInteger(原创 2020-09-13 16:36:13 · 126 阅读 · 0 评论 -
ArrayBlockingQueue
特性public class ArrayBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, java.io.Serializable {}public interface BlockingQueue<E> extends Queue<E> {}public abstract class AbstractQueue<E>原创 2020-09-13 15:29:40 · 122 阅读 · 0 评论 -
CopyOnWriteArrayList
特性public class CopyOnWriteArrayList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable {}RandomAccess,Cloneable,Serializable前面讲过基本属性private static final long serialVersionUID = 8673264195747942595L;//序列化版本号//全局锁f原创 2020-09-09 16:53:59 · 141 阅读 · 0 评论 -
LinkedList
特性public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable{}public abstract class AbstractSequentialList<E> extends AbstractList<E> {}public原创 2020-09-09 15:51:29 · 112 阅读 · 0 评论 -
你真的懂ArrayList么
前言面试的时候别人经常会将arrayList linkedList进行对比,大部分人会回答arrayList底层是集合,查询块增删慢,linkedlist 底层是链表查询慢增删块,确定是这样么?特性进入arraylist源码首先会看到arraylist继承AbstractList这是模版模式,然后实现List,mRandomAccess, Cloneable, java.io.Serializable这是为什么?public class ArrayList<E> extends Abst原创 2020-09-06 18:17:00 · 251 阅读 · 0 评论 -
集合
原创 2020-09-04 08:21:09 · 83 阅读 · 0 评论