Map
文章平均质量分 79
woshimaxiao1
这个作者很懒,什么都没留下…
展开
-
Java集合之三—ConcurrentHashMap
我们上述所讲的Map都是非线程安全的,这意味着不应该在多个线程中对这些Map进行修改操作,轻则会产生数据不一致的问题,甚至还会因为并发插入元素而导致链表成环(插入会触发扩容,而扩容操作需要将原数组中的元素rehash到新数组,这时并发操作就有可能产生链表的循环引用从而成环),这样在查找时就会发生死循环,影响到整个应用程序。Collections.synchronizedMap(Map<K...转载 2018-11-09 19:27:14 · 2178 阅读 · 0 评论 -
Java集合之五—WeakHashMap
WeakHashMap是一个基于Map接口实现的散列表,实现细节与HashMap类似(都有负载因子、散列函数等等,但没有HashMap那么多优化手段),它的特殊之处在于每个key都是一个弱引用。首先我们要明白什么是弱引用,Java将引用分为四类(从JDK1.2开始),强度依次逐渐减弱: 强引用: 就是平常使用的普通引用对象,例如Object obj = new Object(),这就是一...转载 2018-11-09 19:36:37 · 420 阅读 · 0 评论 -
Java集合之四—LinkedHashMap
LinkedHashMap继承HashMap并实现了Map接口,同时具有可预测的迭代顺序(按照插入顺序排序)。它与HashMap的不同之处在于,维护了一条贯穿其全部Entry的双向链表(因为额外维护了链表的关系,性能上要略差于HashMap,不过集合视图的遍历时间与元素数量成正比,而HashMap是与buckets数组的长度成正比的),可以认为它是散列表与链表的结合。/** * The h...转载 2018-11-09 19:42:08 · 695 阅读 · 0 评论 -
Java集合之七—Map总结
Map是一种用于快速查找的数据结构,它以键值对的形式存储数据,每一个键都是唯一的,且对应着一个值,如果想要查找Map中的数据,只需要传入一个键,Map会对键进行匹配并返回键所对应的值,可以说Map其实就是一个存放键值对的集合。Map被各种编程语言广泛使用,只不过在名称上可能会有些混淆,像Python中叫做字典(Dictionary),也有些语言称其为关联数组(Associative Array),...转载 2018-11-09 19:48:25 · 1388 阅读 · 0 评论 -
Java集合之六—AbstractMap
AbstractMap是一个抽象类,它是Map接口的一个骨架实现,最小化实现了此接口提供的抽象函数。在Java的Collection框架中基本都遵循了这一规定,骨架实现在接口与实现类之间构建了一层抽象,其目的是为了复用一些比较通用的函数以及方便扩展,例如List接口拥有骨架实现AbstractList、Set接口拥有骨架实现AbstractSet等。下面我们按照不同的操作类型来看看Abstra...转载 2018-11-09 19:50:59 · 596 阅读 · 0 评论 -
JAVA集合之二—TreeMap
大家好,今天我们来学习一下Map家族中的另一个成员:TreeMap。一、基本概念在介绍TreeMap之前,我们来了解一种数据结构:二叉树。相信学过数据结构的同学知道,这种结构的数据存储形式在查找的时候效率非常高。二叉树结构(源自百度百科) 二叉树结构又可再细分为二叉查找树 叉平衡树二叉查找树 二叉查找树是一种有序的树,所有的左孩子的value值都是小于叶子结点的...转载 2018-11-05 17:45:58 · 1643 阅读 · 1 评论 -
Java集合之一—HashMap
深入浅出学Java——HashMap哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。一、什么是哈希表在讨论哈希表之前,我们先大概了解下其他数据结构在新增,...转载 2018-11-02 23:59:41 · 603637 阅读 · 119 评论 -
HashMap与TreeMap的排序以及四种遍历方式
一、Map概述1、Map是将键映射到值( key-value )的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。2、Map与Collection的区别 (1)Map 是以键值对的方式存储元素,键唯一,值可以重复。 (2)Collection存储的是单列元素,子接口Set元素唯一,子接口List可以重复。 (3)Map的数据结构针对键有效,跟值无关...转载 2018-11-05 18:27:31 · 3140 阅读 · 0 评论