Java集合源码
Java集合源码学习,分析Java集合中的常用数据结构
TYYJ-洪伟
努力成为一名匠人。
展开
-
TreeMap JDK 1.8.0源码学习,多图才是硬道理!
TreeMap是Map接口的一种实现,一种基于红黑树的实现。但TreeMap并没有直接实现Map接口。TreeMap根据其键的自然顺序或在创建映射时提供的Comparator进行排序,这取决于使用的是哪个构造函数。TreeMap内部对元素的操作复杂度为O(logn)。虽然在元素的存取方面TreeMap并不占优,但是它内部的元素都是排序的,当需要查找某些元素以及顺序输出元素的时候它能够带来比较理想的...原创 2020-02-08 16:51:54 · 354 阅读 · 0 评论 -
HashMap JDK 1.8.0源码学习
HashMap是Java中最常用的数据结构之一,经常用来存储键值对。虽然网络上已经有很多关于HashMap源码分析的代码,毕竟“纸上得来终觉浅,绝知此事要躬行”,是时候一探究竟了。原创 2019-12-04 07:58:33 · 253 阅读 · 0 评论 -
AbstractMap作为Map接口的骨干实现是一种怎样的存在?
AbstractMap类提供了Map接口的框架实现,以最小化实现此接口所需的工作量。 一、概述 要实现不可修改的map,程序员只需要扩展这个类并为entrySet方法提供一个实现,该方法返回映射的集合视图。通常,返回的集合将依次在AbstractSet之上实现。这个集合不应该支持add或remove方法,它的迭代器不应该支持remove方法。 要实现可修改的map,程序员必须另外重写该类的put方...原创 2019-03-17 20:07:15 · 470 阅读 · 0 评论 -
Map接口,从顶层把握Map实现
Map接口是所有Java具体Map需要实现的接口,比如HashMap。了解Map接口设计有利于理解各种具体Map如何实现。 一、概述 将键映射到值的对象。映射不能包含重复的键;每个键最多只能映射到一个值。这个接口代替了Dictionary类,后者是一个完全抽象的类,而不是一个接口。 Map接口提供了三个集合视图,它允许将映射的内容视为键集、值集或键值映射集。映射的顺序定义为映射集合视图上的迭代器返...原创 2019-03-02 15:59:25 · 1114 阅读 · 14 评论