集合框架
pjwtheking
这个作者很懒,什么都没留下…
展开
-
集合框架概述
1、集合框架整体关系2、框架简图:对于以上的框架图有如下几点说明:1、所有集合类都位于java.util包下。2、集合的顶层接口:Collection<E> 下面主要有:三个接口分别是: List、Set、Queue List的主要实现类是:ArrayList 、LinkedList、Vector 、Stack...原创 2019-07-05 14:40:00 · 134 阅读 · 0 评论 -
List接口浅析
List接口为Collection直接接口。List所代表的是有序的Collection,即它用某种特定的插入顺序来维护元素顺序。用户可以对列表中每个元素的插入位置进行精确地控制,同时可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。实现List接口的集合主要有:ArrayList、LinkedList、Vector、Stack。一、ArrayListArrayL...原创 2019-07-05 15:15:07 · 140 阅读 · 0 评论 -
Set接口浅析
Set是一个不包含重复元素的 collection。无序且唯一。HashSet LinkedHashSet TreeSet一、HashSet1、概述HashSet是使用基于HashMap来实现的,无序,不重复元素的集合。HashSet是非同步的,如果多个线程同时访问一个哈希set,而其中至少一个线程修改了该set,那么它必须保持外部同步。HashSet按Hash算法来...原创 2019-07-05 15:37:46 · 127 阅读 · 0 评论 -
Java队列Queue浅析
Queue用于模拟队列这种数据结构,队列通常是指“先进先出”(FIFO)的容器。新元素插入(offer)到队列的尾部,访问元素(poll)操作会返回队列头部的元素。通常,队列不允许随机访问队列中的元素。Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接 口。阻塞队列定义:试图从空的阻塞队列中获取元素的线程将会被...原创 2019-07-05 17:24:49 · 456 阅读 · 0 评论 -
HashMap详解
一、概念及概述HashMap是基于哈希表和Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。HashMap储存的是键值对,因为HashMap是非synchronized,所以HashMap很快,但不保证映射的顺序,特别是它不保证该顺序恒久不变HashMap 内部结构:可以看作是数组和链表结合组成的复合结构,数组被分为一个个桶,每个桶存储有一个或多个En...原创 2019-07-12 13:56:05 · 212 阅读 · 0 评论 -
LinkedHashMap详解
一、概念及概述LinkedHashMap 继承自 HashMap,在 HashMap 基础上,通过维护一条双向链表,解决了 HashMap 不能随时保持遍历顺序和插入顺序一致的问题。在一些场景下,该特性很有用,比如缓存。在实现上,LinkedHashMap 很多方法直接继承自 HashMap,仅为维护双向链表覆写了部分方法。当我们希望有顺序地去存储key-value时,就需要使用Linke...原创 2019-07-12 14:00:00 · 22642 阅读 · 2 评论 -
TreeMap详解
一、概念及概述TreeMap 是一个有序的key-value集合,非同步,基于红黑树(Red-Black tree)实现,每个key-value作为红黑树的一个节点。TreeMap存储时会进行排序的,会根据key来对key-value键值对进行排序,其中排序方式也是分为两种,一种是默认排序(按key的升序),一种是定制排序,具体取决于使用的构造方法。二、插入插入操作比较复杂一...原创 2019-07-12 16:10:03 · 2606 阅读 · 0 评论 -
Hashtable与Hashmap的区别
Hashtable与Hashmap底层都是基于散列表实现的(数组+链表结构)Hashtable是java一开始发布时就提供的键值映射的数据结构,而HashMap产生于JDK1.2。虽然Hashtable比HashMap出现的早一些,但是现在Hashtable基本上已经被弃用了。而HashMap已经成为应用最为广泛的一种数据类型,主要原因是因为Hashtable是线程安全的,效率比较低...原创 2019-08-01 17:34:25 · 150 阅读 · 0 评论