上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 17 下一页
摘要: #####前言: TreeMap和HashMap一样实现的是Map接口,但两者的实现方式天差地别。HashMap的底层是hash表+单向链表的形式存储数据,TreeMap底层是通过红黑树存储数据。HashMap因为是基于散列表的实现,所以时间开销为O(1),TreeMap的时间开销是O(lgn)。T 阅读全文
posted @ 2017-06-01 17:27 thinker1017 阅读(178) 评论(0) 推荐(0)
摘要: 和Collection一样,Map也是集合容器的一个顶层接口。Map是通过key-value方式存储数据,key值都是唯一的,但key是否能为空,则要看他的不同子类的实现。我们可以把Map看成一个小型的数字字典,通过key值的方式存储数据性能非常快,比如他的子类Hashmap,底层就是通过散列表来实 阅读全文
posted @ 2017-06-01 17:25 thinker1017 阅读(242) 评论(0) 推荐(0)
摘要: #####前言: 本文讲述的LinkedHashMap是HashMap的子类,他不仅实现了HashMap的所有功能,更是维护了元素的存储顺序。LinkedHashMap维护元素顺序的方式有两种,一种是维护他的存入顺序,另一种则是维护元素的读取顺序。基于这种功能,LinkedHashMap可以在用于L 阅读全文
posted @ 2017-06-01 17:24 thinker1017 阅读(223) 评论(0) 推荐(0)
摘要: Iterator模式用于遍历所有集合类的元素,他的设计是为了把所有的集合遍历逻辑抽出来,从而避免向客户暴露集合的内部结构。 boolean hasNext():这个方法是在遍历的时候,判断是否还有更多的元素E next(): 返回下一个元素default void remove():这里涉及到了jd 阅读全文
posted @ 2017-06-01 17:23 thinker1017 阅读(139) 评论(0) 推荐(0)
摘要: #####前言: 前文中已对HashMap实现原理做了详细介绍,HashTable与HashMap的原理相同,实现方式也几乎一致。除了以下几点不同:1.HashMap非线程安全,HashTable线程安全。HashMap与HashTable的实现方法几乎一致,区别是HashTable对所有的方法进行 阅读全文
posted @ 2017-06-01 17:22 thinker1017 阅读(166) 评论(0) 推荐(0)
摘要: #####前言: 先说说HashSet的继承关系,HashSet继承了AbstractSet抽象类并实现了Set接口,AbstractSet的子类还包括TreeSet,里面实现了两个类公共的一部分方法,后面也会略有介绍。那么HashSet到底一个怎么样的存在呢?HashSet顾名思义就是通过Hash 阅读全文
posted @ 2017-06-01 17:20 thinker1017 阅读(167) 评论(0) 推荐(0)
摘要: #####前言: 从今天开始我将介绍Map系列接口,我认为Map是集合类中概念最多,实现最复杂的一类接口。在讲解过程中会涉及到不少数据结构的知识,这部分知识点需要读者额外花一定时间系统学习。 HashMap是Map的一个实现类,这个类很重要,是很多集合类的实现基础,底层用的就是他,比如前文中讲到的H 阅读全文
posted @ 2017-06-01 16:53 thinker1017 阅读(231) 评论(0) 推荐(0)
摘要: #LinkedList #####前言: 本文将介绍List家族中的另一个重要的实现类,他的实现有别与ArrayList和Vector,虽说List的所有类都是线性存储结构,但前者是通过数组存储的顺序结构,而本次要讲的LinkedList是通过链表的形式存放数据。当然,LinkedList也是非线程 阅读全文
posted @ 2017-06-01 16:51 thinker1017 阅读(222) 评论(0) 推荐(0)
摘要: Collection Collection作为一个集合类的顶层接口,他没有直接的子类实现,而是通过实现它的子接口来实现集合容器。Collection的特点是作为一个容器,他可以轻松的帮用户实现数据存储,动态扩容,还有方便的元素遍历和快速的增删改查等操作,这些特点都在接口定义的方法中一一体现出来,相比 阅读全文
posted @ 2017-06-01 16:40 thinker1017 阅读(315) 评论(0) 推荐(0)
摘要: #ArrayList & Vector #####前言: 本来按照计划,ArrayList和Vector是分开讲的,但是当我阅读了ArrayList和Vector的源码以后,我就改变了注意,把两个类合起来讲或许更加适合。为什么呢?我有几个理由。 3.他俩都实现了Iterator和LinkIterat 阅读全文
posted @ 2017-06-01 16:36 thinker1017 阅读(190) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 17 下一页