小小默:进无止境

微信:15993729750;QQ:1274654983 欢迎交流~~

认真学习数据结构之阻塞队列LinkedBlockingQueue与ArrayBlockingQueue

【1】阻塞队列 阻塞队列与我们平常接触的普通队列(LinkedList或ArrayList等)的最大不同点,在于阻塞添加和阻塞删除方法。 阻塞添加 所谓的阻塞添加是指当阻塞队列元素已满时,队列会阻塞加入元素的线程,直队列元素不满时才重新唤醒线程执行元素加入操作。 阻塞删除 阻塞删除是指在队...

2019-02-14 21:50:56

阅读数 14

评论数 0

认真学习数据结构之红黑树

【1】什么是红黑树 红黑树是一种自平衡树,它也是一颗二叉树。既然能保持平衡,说明它和AVL树类似,在插入或者删除时肯定有调整的过程,只不过这个调整过程并不像AVl树那样繁琐。为何红黑树使用得比AVL树更多,就是因为红黑树它的调整过程迅速且简短。 ① 五个特点: 节点是红色或黑色 根是黑色 ...

2019-02-14 20:31:32

阅读数 11

评论数 0

深入学习Java集合之ConcurrentHashMap的实现原理

ConcurrentHashMap类图如下: jdk1.7下ConcurrentHashMap数据结构图: 如图所示,是由 Segment 数组、HashEntry 组成,和 HashMap 一样,仍然是数组加链表。核心变量: Segment 是 ConcurrentHashMap 的一个内...

2019-02-09 21:08:47

阅读数 42

评论数 0

深入学习Java集合之LinkedHashMap的实现原理

【1】LinkedHashMap定义 LinkedHashMap是HashMap的子类,其实现与HashMap 的不同之处在于,LinkedHashMap维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可以是插入顺序或者是访问顺序。 注意,此实现不是同步的。如果多个线程...

2019-02-09 18:22:09

阅读数 29

评论数 0

深入学习Java集合之HashMap的实现原理

HashMap 是基于哈希表的Map 接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null 值和null 键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突...

2019-02-08 15:23:02

阅读数 32

评论数 0

深入学习Java集合之ArrayList的实现原理

ArrayList 是List 接口的可变数组的实现,底层就是一个数组, 因此按序查找快, 乱序插入、删除因为涉及到后面元素移位所以性能慢。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个Arra...

2019-02-07 17:26:34

阅读数 21

评论数 0

JavaSE集合-Queue入门与详解

Queue用于模拟"队列"这种数据结构(先进先出 FIFO)。队列的头部保存着队列中存放时间最长的元素,队列的尾部保存着队列中存放时间最短的元素。新元素插入(offer)到队列的尾部,访问元素(poll)操作会返回队列头部的元素,队列不允许随机访...

2019-01-28 15:45:50

阅读数 50

评论数 0

深入学习Java集合之HashSet 的实现原理

HashSet 是 Set 接口的典型实现,由哈希表(实际上是一个HashMap 实例)支持,大多数时候使用 Set 集合时都使用这个实现类。HashSet 按 Hash 算法来存储集合中的元素,因此具有很好的存取和查找性能。 HashSet 具有以下特点: 不能保证元素的排列顺序 HashSe...

2019-01-23 19:42:52

阅读数 49

评论数 0

数据结构基础入门

简单地说,数据结构是以某种特定的布局方式存储数据的容器。这种“布局方式”决定了数据结构对于某些操作是高效的,而对于其他操作则是低效的。首先我们需要理解各种数据结构,才能在处理实际问题时选取最合适的数据结构。 首先列出一些最常见的数据结构,我们将逐一说明: 数组 栈 队列 链表 树 图 字典树(这...

2019-01-16 18:12:25

阅读数 26

评论数 0

浅谈从fail-fast机制到CopyOnWriteArrayList使用

在ArrayList、HashMap和HashSet等集合的Javadoc中,你会看到类似如下注释: 图片来源于ArrayList的javadoc 第一段翻译如下: waiting..

2018-09-13 18:00:17

阅读数 74

评论数 0

JavaSE集合 - Collections与集合排序详解

【1】Collection与Collectionscollection接口是list、set和queue接口的父接口。其是一个 泛型接口,继承自Iterable<E>:Collections 是一个纯静态类(静态成员变量,静态泛型方法与静...

2017-09-10 18:13:36

阅读数 387

评论数 0

JAVA集合 - list常用方法

该篇主要记录list的常用方法,如下图所示,截取的list接口的常用方法:测试代码:List<String> list = new ArrayList<String>();【1】subList(fromIndex, toIndex);从两个参数间截取子list,如果参数相等...

2017-05-15 14:32:43

阅读数 645

评论数 0

JavaSE集合-Collections工具类

1.基本概念2.主要方法Collections 类中提供了多个 synchronizedXxx() 方法,该方法可使将指定集合包装成线程同步的集合,从而可以解决多线程并发访问集合时的线程安全问题 3.Enumeration接口注意,不是enum枚举类!!!Enumeration 接口是 Iter...

2016-11-18 11:13:06

阅读数 527

评论数 0

JavaSE集合 - Map入门与详解

Map中的Key值为set ,不能重复!!!1.Map实现类之一:HashMap2.Map实现类之二:LinkedHashMap3.Map实现类之三:TreeMap 4.Map实现类之四:Hashtable5.Map实现类之五:Properties

2016-11-18 11:08:32

阅读数 263

评论数 0

JavaSE集合 - Set入门与详解及内外比较器

Set接口是Collection的子接口,set接口没有提供额外的方法Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个 Set 集合中,则添加操作失败。Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals 方法map中的所有key,即为一个set;所有val...

2016-11-18 11:00:04

阅读数 375

评论数 0

JavaSE集合 - List入门与详解

1.List接口 底层使用数组实现 2.List实现类之一:ArrayList3.List实现类之二:LinkedList4.List 实现类之三:Vector5.ListIterator接口6.Iterator和ListIterator主要区别

2016-11-18 10:51:41

阅读数 312

评论数 0

Java集合概述和总结分析与图示

JAVA集合中主要分为两大体系:collection 、map。1.Collection接口2.Map接口继承树3.Collection接口详解主要方法:4.Map接口详解主要方法:5.使用Iterator接口遍历集合6.实现类对比分析

2016-11-18 10:46:08

阅读数 428

评论数 0

HashMap、HashTable、LinkedHashMap和TreeMap及ConcurrentHashMap用法和区别

转载http://www.open-open.com/lib/view/open1350440858024.htmlJava为数据结构中的映射定义了一个接口java.util.Map,它有四个实现类,分别是HashMap、HashTable、LinkedHashMap和TreeMap。本节实例主要...

2016-10-14 14:31:17

阅读数 282

评论数 0

HashMap和Hashtable的区别

HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(Has...

2016-10-13 17:59:50

阅读数 251

评论数 0

Map遍历的常用几种方法与区别

Map中的key—set; Map中的value–collection; Map中的单个键值对–entry; 所有键值对–entrySet代码转载至http://www.cnblogs.com/kristain/articles/2033566.htmlpublic static void ...

2016-10-11 14:28:24

阅读数 486

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭