Java-容器
书呆子Rico
不着急,慢慢来。
展开
-
Java Collection Framework : Collection 接口
Java 容器类根接口Collection 的详细描述。原创 2016-10-27 18:58:48 · 5007 阅读 · 2 评论 -
Java Collection Framework : List
List 包括 List接口以及List接口的所有实现类。因为 List 接口实现了 Collection 接口,所以 List 接口拥有 Collection 接口提供的所有方法,同时又因为 List 是列表类型,所以 List 接口还提供了一些适合自身的方法。ArrayList 是一个动态数组,实现了数组动态扩容,随机访问效率高;LinkedList是一个双向链表,随机插入、随机删除效率高,可用作队列的实现。原创 2016-10-28 13:43:22 · 8470 阅读 · 10 评论 -
算法实战:根据Key或Value对Map进行排序及其应用
我们知道,Map是 Java Collection Framework 的重要成员,也是我们最常用的容器类之一。Map的实现多种多样,包括HashMap、LinkedHashMap等。但是,无论实际中使用哪种实现,我们在编程过程中常常会遇到诸如根据Key或Value对Map进行排序、保持Map插入顺序等问题,本文特别针对以上几个问题给出了具体解法,并分享华为一道与我们主题极为相关的笔试题。原创 2017-05-11 18:13:19 · 9483 阅读 · 6 评论 -
Map 综述(四):彻头彻尾理解 HashTable
Hashtable与HashMap都是Map族中较为常用的实现,也都是Java Collection Framework 的重要成员,它们的本质都是链表数组。本文深入JDK源码并从定义、构造、结构、存取等四个方面深入解读了Hashtable的底层结构与存储逻辑,并阐述了HashMap、Hashtable与ConcurrentHashMap三者间的联系与区别。原创 2017-06-04 22:55:42 · 10349 阅读 · 5 评论 -
Map 综述(三):彻头彻尾理解 ConcurrentHashMap
ConcurrentHashMap是J.U.C的重要成员,它是HashMap的一个线程安全的版本。在默认理想状态下,ConcurrentHashMap可以支持16个线程执行并发写操作及任意数量线程的读操作。本文将结合Java内存模型和JDK源代码,剖析其高并发的具体实现机制,包括在JDK中的定义和结构、并发存取、重哈希和跨段操作,并着重剖析了ConcurrentHashMap读操作不需要加锁的内在奥秘和原理。原创 2017-05-27 17:03:10 · 138123 阅读 · 68 评论 -
Map 综述(二):彻头彻尾理解 LinkedHashMap
HashMap和双向链表合二为一即是LinkedHashMap。所谓LinkedHashMap,其落脚点在HashMap,因此更准确地说,它是一个将所有Entry节点链入一个双向链表的HashMap。由于LinkedHashMap是HashMap的子类,所以LinkedHashMap会拥有HashMap的所有特性。此外,LinkedHashMap可以很好的支持LRU算法。原创 2017-05-12 11:52:49 · 191138 阅读 · 52 评论 -
Map 综述(一):彻头彻尾理解 HashMap
摘要: HashMap是Map族中最为常用的一种,也是 Java Collection Framework 的重要成员。本文首先给出了 HashMap 的实质并概述了其与 Map、HashSet 的关系,紧接着给出了 HashMap 在 JDK 中的定义,并结合源码分析了其四种构造方式。最后,通过对 HashMap 的数据结构、实现原理、源码实现三个方面的剖析,深入到它底层 Hash 存储机...原创 2017-03-17 17:54:18 · 94783 阅读 · 77 评论