摘要: HashMap、HashSet、HashTable之间的区别是Java程序员的一个常见面试题目,在此仅以此博客记录,并深入源代码进行分析: 在分析之前,先将其区别列于下面: 源代码分析: 对于区别1,看下面的源码 从上面的代码中得出的结论是HashSet的确是采用HashMap来实现的,而且每一个键 阅读全文
posted @ 2017-12-27 20:56 midiyu 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,value)方法保存起来,然后通过get(key)方法获取相对应的value值。一个是前面提到的HashMap,还有一个就是马上要讲解的HashTable。对于HashTab 阅读全文
posted @ 2017-12-27 20:48 midiyu 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 在上一篇博文(HashMap原理及实现学习总结)详细总结了HashMap的实现过程,对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保存元素。所以如果对HashMap比较熟悉,那么HashSet的原理应该很好理解! 一.HsahSet概述 HashSet实现Set接口 阅读全文
posted @ 2017-12-27 20:36 midiyu 阅读(5127) 评论(0) 推荐(0) 编辑
摘要: 在前篇博文中(HashMap原理及实现学习总结)详细总结了HashMap的原理及实现过程,这一篇是对HashMap的源码分析。 阅读全文
posted @ 2017-12-27 20:20 midiyu 阅读(277) 评论(0) 推荐(0) 编辑
摘要: HashMap是Java中最常用的集合类框架之一,是Java语言中非常典型的数据结构。本篇主要是从HashMap的工作原理,数据结构分析,HashMap存储和读取几个方面对其进行学习总结。关于HashMap的完整源码分析请查看下一篇。 一. HashMap的工作原理 HashMap基于hashing 阅读全文
posted @ 2017-12-27 20:17 midiyu 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 一、LinkedList实现原理概述 LinkedList 和 ArrayList 一样,都实现了 List 接口,但其内部的数据结构有本质的不同。LinkedList 是基于链表实现的(通过名字也能区分开来),所以它的插入和删除操作比 ArrayList 更加高效。但也是由于其为基于链表的,所以随 阅读全文
posted @ 2017-12-27 16:35 midiyu 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 一、ArrayList介绍 ArrayList是一种线性数据结构,它的底层是用数组实现的,相当于动态数组。与Java中的数组相比,它的容量能动态增长。类似于C语言中的动态申请内存,动态增长内存。 当创建一个数组的时候,就必须确定它的大小,系统会在内存中开辟一块连续的空间,用来保存数组,因此数组容量固 阅读全文
posted @ 2017-12-27 15:59 midiyu 阅读(394) 评论(0) 推荐(0) 编辑