Java之集合(十)EnumMap】的更多相关文章

转载请注明源出处:http://www.cnblogs.com/lighten/p/7371744.html 1.前言 本章介绍Map体系中的EnumMap,该类是专门针对枚举类设计的一个集合类.集合中的所有键必须是同一个枚举类的实例.当EnumMap创建后,会表现成一个数组array,这种表现方式是紧凑高效的.EnumMap的顺序,由枚举类实例的定义顺序决定.集合视图的迭代器是弱一致(weakly consistent)的,不会抛出并发异常ConcurrentModificationExcep…
转载请注明源出处:http://www.cnblogs.com/lighten/p/7427554.html 1.前言 原本按照顺序应该是list.queue然后就是set的讲解,但是因为set的实现比较容易,但是其容易是建立在map的实现之上才容易的,所以先讲解的map.现在对于set集合,就一次全部介绍完.Set集合特点就是没有重复的内容,其实现是通过map的键来实现的. 2.HashSet HashSet的结构就是持有一个HashMap,map的键就是Set的内容,值全部是PRESENT这…
转载请注明源出处:http://www.cnblogs.com/lighten/p/7494577.html 1.前言 本章介绍LinkedBlockingDeque,这是一个可选容量的有界双向链表队列,默认容量大小是Integer.MAX_VALUE,基本可以认为是无界了.其方法大多是常量时间操作,除了remove相关方法和contains以及所有bulk操作是和元素个数相关的线性时间开销. 2.LinkedBlockingDeque 2.1数据结构 标准的一个双向链表的结构,第一个节点,最后…
转载请注明源出处:http://www.cnblogs.com/lighten/p/7493735.html 1.前言 本章介绍阻塞队列DelayQueue,这是一个无界阻塞队列.其存储延时的元素,只有延时耗尽元素才能被取出.队列头元素就是最先耗尽延时的元素,如果没有元素耗尽延时,poll操作会返回null.同样的,该队列不允许空元素.针对延时的特性,可以用户定时任务,到达时间就能取出任务执行,设计有时效的缓存,超时就清除. 2.DelayQueue 2.1 数据结构 该类的实现十分简单,可以说…
转载请注明源出处:http://www.cnblogs.com/lighten/p/7427763.html 1.前言 JDK5是一个重要的更新版本,其提供了大量的并发类.之前的介绍都是一些util下早期的集合类,本章开始介绍JDK5提供的并发包中所给出的在多线程下,线程安全的集合类.首先介绍的是Queue队列,之前就介绍了2个:ArrayDeque和PriorityQueue.队列算是天然需要线程安全的,因为其特性适用场景大多数都是并发操作,进行排队.所以JDK5并发包中提供了大量不同特性的线…
转载请注明源出处:http://www.cnblogs.com/lighten/p/7426522.html 1.前言 HashTable这个类很奇特,其继承了Dictionary这个没有任何具体实现类,而后实现了Map接口.Dictionary对大部分人而言都十分陌生,因为这个类并没有什么用,其出现在JDK1.0,而Map接口最早出现在JDK1.2.这个应该是JDK自己的类体系进行了调整,使得Dictionary类没有什么价值.在HashMap中我就提到过HashTable,这两个类最大的区别…
转载请注明源出处:http://www.cnblogs.com/lighten/p/7411935.html 1.前言 本章介绍Map体系中的TreeMap,顾名思义,这个是一个树结构的Map.TreeMap是一个具有比较器的Map,其是由比较器来决定get和put操作的,没有比较器的时候就使用compareTo方法进行比较.其实现是我在HashMap中所讲到的红黑树,但是实现方法却与HashMap的实现有些许区别,所以这里再进行描述一次,如果hashMap那章没看明白,可以再了解一下. Tre…
1.Java集合框架为不同类型的集合定义了大量接口 其中,集合有两个基本接口:Collection和Map. 2.各接口的主要特征如下 (1)Collection接口:是List接口.Set接口和Queue接口的父接口,通常情况下不能被直接使用. (2)List接口:实现了Collection接口,List接口允许存放重复的对象,按照对象的插入顺序排列 (3)Set接口:实现了Collection接口,Set接口不允许存放重复的对象,按照自身内部的排序规则排列 (4)Queue接口:实现了Col…
Java中的集合(十五) Iterator 和 ListIterator.Enumeration 一.Iterator (一).简介 Iterator 是一个接口,它是集合的迭代器.集合可以通过Iterator去遍历集合中的元素.把访问逻辑从不同类型的集合类中抽取出来,从而避免向外部暴露集合的内部结构. (二).常用API 实例: (三).特点 只能单向移动遍历. 迭代器在迭代期间可以从集合中移除元素(通过迭代器删除). 不能在迭代时通过集合对象添加,删除元素. (四).相关问题 1.Itera…
Java中的集合(十四) Map的实现类LinkedHashMap 一.LinkedHashMap的简介 LinkedHashMap是Map接口的实现类,继承了HashMap,它通过重写父类相关的方法,来实现自己的链接列表特性.但是很多方法都直接复用了父类HashMap的方法.底层数据结构是哈希表+双向链表,具有可预知的迭代顺序.允许使用null值和null键存储. LinkedHashMap实现与HashMap的不同之处在于,后者维护着一个运行于所有条目的双重链接列表.此链接列表定义了迭代顺序…