集合框架
文章平均质量分 79
bh_xiaoxinba
这个作者很懒,什么都没留下…
展开
-
java集合框架系列---fail-fast机制
介绍fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。 例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛出ConcurrentModificationException异常,产生fail-fast事件。示例import原创 2016-09-14 09:57:11 · 395 阅读 · 0 评论 -
java集合框架系列---Map接口
HashMap 是基于“拉链法”实现的散列表。一般用于单线程程序中。 Hashtable 也是基于“拉链法”实现的散列表。它一般用于多线程程序中。 WeakHashMap 也是基于“拉链法”实现的散列表,它一般也用于单线程程序中。相比HashMap,WeakHashMap中的键是“弱键”,当“弱键”被GC回收时,它对应的键值对也会被从WeakHashMap中删除;而HashMap中的键是转载 2016-09-14 21:18:08 · 179 阅读 · 0 评论 -
java集合框架系列---WeakHashMap
1、介绍WeakHashMap简介WeakHashMap 继承于AbstractMap,实现了Map接口。和HashMap一样,WeakHashMap 也是一个散列表,它存储的内容也是键值对(key-value)映射,而且键和值都可以是null。不过WeakHashMap的键是“弱键”。在 WeakHashMap 中,当某个键不再正常使用时,会被从WeakHashMap中被自动移除。更精确原创 2016-09-14 20:55:36 · 213 阅读 · 0 评论 -
java集合框架系列
1、java集合框架的接口 2、java集合框架的类层次结构 3、java集合框架中的遗留类层次结构 整个层次图原创 2016-09-12 23:19:02 · 1149 阅读 · 0 评论 -
java集合框架系列---ArrayList
ArrayList简介是一个动态数组。 与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。ArrayList 继承了AbstractList,实现了List。它是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。 ArrayList 实现了Ran原创 2016-09-13 01:19:06 · 304 阅读 · 0 评论 -
java集合框架系列---LinkedList
1、介绍LinkedList简介LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。 LinkedList 实现 List 接口,能对它进行队列操作。 LinkedList 实现 Deque 接口,即能将LinkedList当作双端队列使用。 LinkedList 实现了Cloneable接口,即覆盖了函数clo原创 2016-09-14 09:11:00 · 458 阅读 · 0 评论 -
java集合框架系列---Map接口
1、概要Map框架 (01) Map 是映射接口,Map中存储的内容是键值对(key-value)。 (02) AbstractMap 是继承于Map的抽象类,它实现了Map中的大部分API。其它Map的实现类可以通过继承AbstractMap来减少重复编码。 (03) SortedMap 是继承于Map的接口。SortedMap中的内容是排序的键值对,排序的方法是通过比较器(Comparat转载 2016-09-14 10:16:56 · 198 阅读 · 0 评论 -
java集合框架系列---HashMap
1、介绍HashMap简介HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。 HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。HashMap 的实例有原创 2016-09-14 10:50:43 · 385 阅读 · 0 评论 -
java集合框架系列---LinkedHashMap
1、介绍LinkedHashMap是HashMap的一个子类,它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用LinkedHashMap。LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。LinkedHashMap实现与HashMa原创 2016-09-14 22:13:29 · 176 阅读 · 0 评论 -
java集合框架系列---包装器
Arrays类1)排序 Arrays的静态方法sort() Arrays.sort(Int型数组) 按照int大小排序,默认升序 Arrays.sort(String型数组)按照元素的自然顺序进行升序排序; Arrays.sort(String数组, String.CASE_INSENSITIVE_ORDER)不区分大小写; Arrays.sort(数组,start,end)可以指定数组原创 2016-09-14 23:19:29 · 221 阅读 · 0 评论 -
java集合框架系列---Iterator和Enumeration比较
Iterator和Enumeration区别通过“Iterator(迭代器)” 或 “Enumeration(枚举类)” 去遍历集合; Enumeration是一个接口,它的源码如下:package java.util;public interface Enumeration<E> { boolean hasMoreElements(); E nextElement();}Itera转载 2016-09-14 23:12:45 · 222 阅读 · 0 评论 -
java集合框架系列---TreeSet
1、介绍TreeSet简介TreeSet 是一个有序的集合,它的作用是提供有序的Set集合。它继承于AbstractSet抽象类,实现了NavigableSet, Cloneable, java.io.Serializable接口。TreeSet 继承于AbstractSet,所以它是一个Set集合,具有Set的属性和方法。TreeSet 实现了NavigableSet接口,意味着它支持一转载 2016-09-14 23:01:30 · 253 阅读 · 0 评论 -
java集合框架系列---HashSet
1、介绍HashSet 简介HashSet 是一个没有重复元素的集合。它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用 null 元素。HashSet是非同步的。如果多个线程同时访问一个哈希 set,而其中至少一个线程修改了该 set,那么它必须 保持外部同步。这通常是通过对自然封装该 set 的对象执行同步操作来完成的。如果不存在这样的对象,则应该使用 Colle转载 2016-09-14 22:57:02 · 202 阅读 · 0 评论 -
java集合框架系列---Set接口
(01) Set 是继承于Collection的接口。它是一个不允许有重复元素的集合。 (02) AbstractSet 是一个抽象类,它继承于AbstractCollection,AbstractCollection实现了Set中的绝大部分函数,为Set的实现类提供了便利。 (03) HastSet 和 TreeSet 是Set的两个实现类。 HashSet依赖于HashMa原创 2016-09-14 22:39:57 · 209 阅读 · 0 评论 -
java集合框架系列---TreeMap
1、介绍简介TreeMap 是一个有序的key-value集合,它是通过红黑树实现的。TreeMap 继承于AbstractMap,所以它是一个Map,即一个key-value集合。TreeMap 实现了NavigableMap接口,意味着它支持一系列的导航方法。比如返回有序的key集合。TreeMap 实现了Cloneable接口,意味着它能被克隆。TreeMap 实现了java.io.原创 2016-09-14 11:11:39 · 528 阅读 · 0 评论 -
Java 集合框架系列---Collection
Java 集合框架系列—Collection概要首先,我们对Collection进行说明。下面先看看Collection的一些框架类的关系图:Collection是一个接口,它主要的两个分支是:List 和 Set。List和Set都是接口,它们继承于Collection。List是有序的队列,List中可以有重复的元素;而Set是数学概念中的集合,Set中没有重复元素!List和Set都有它们各转载 2016-09-14 10:07:01 · 211 阅读 · 0 评论 -
java集合框架系列---遗留下来的集合框架
java第一版遗留下来的集合框架(容器类): Vector Stack Hashtable Dictionary Properties1、Vector特点1、Vector类实现了一个动态数组; 2、可以往其中随意插入不同类的对象,即不需顾及类型也不需预先选定向量的容量; 4、Vector: 底层用数组实现List接口的另一个类 5、重量级,占据更多的系统开销 线程安全源码分析在这原创 2016-09-13 00:09:56 · 430 阅读 · 0 评论