java集合
wangyunpeng0319
这个作者很懒,什么都没留下…
展开
-
HashMap的实现原理
1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构: 在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,H转载 2014-01-27 15:17:58 · 753 阅读 · 0 评论 -
ArrayList的实现原理
1. ArrayList概述: ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量也转载 2014-01-27 14:40:30 · 598 阅读 · 0 评论 -
LinkedHashMap
初识LinkedHashMap上两篇文章讲了HashMap和HashMap在多线程下引发的问题,说明了,HashMap是一种非常常见、非常有用的集合,并且在多线程情况下使用不当会有线程安全问题。大多数情况下,只要不涉及线程安全问题,Map基本都可以使用HashMap,不过HashMap有一个问题,就是迭代HashMap的顺序并不是HashMap放置的顺序,也就是无序。HashMap原创 2017-06-15 14:25:30 · 296 阅读 · 0 评论 -
ConcurrentHashMap的实现原理
ConcurrentHashMap是Java1.5中引用的一个线程安全的支持高并发的HashMap集合类。这篇文章总结了ConcurrentHashMap的内部实现原理,是对于自己理解后的一些整理。1.HashTable与ConcurrentHashMap的对比HashTable本身是线程安全的,写过Java程序的都知道通过加Synchronized关键字实现线程安全,这样对整转载 2017-06-03 17:47:13 · 232 阅读 · 0 评论 -
HashSet实现原理
HashSet是Java Map类型的集合类中最常使用的,本文基于Java1.8,对于HashSet的实现原理做一下详细讲解。(Java1.8源码:http://docs.oracle.com/javase/8/docs/api/)一、HashSet实现原理总结HashSet的实现原理总结如下:①是基于HashMap实现的,默认构造函转载 2017-06-18 15:53:08 · 1141 阅读 · 0 评论 -
Set集合、list集合
1. List概览List,就像它的名字暗示的一样,是一组排列有序的元素。当我们讨论List的时候,很容易将它和Set作比较。Set是一组唯一的而且排列无序的元素。下图是集合类的层次结构图。你可以总体上知道我们今天讨论的主题。2. ArrayList vs. LinkedList vs. Vector从上图可知,它们都实现了List接口。它们的用法差不多,主要的区别在于它们对于转载 2014-01-23 15:53:11 · 711 阅读 · 0 评论 -
HashMap,HashTable,HashSet区别
Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合转载 2014-01-21 11:04:20 · 578 阅读 · 0 评论 -
TreeSet实现原理
前言 首先明白TreeSet属于集的范围,所以它只能存放引用类型,不能用于基本数据类型,实现了set接口,所以它本身不能有重复的元素,当存入自定义的引用类型的时候就必须考虑到元素不可重复的这个特性,换句话说就必须实现Comparable接口(Comparable与Compared接口的区别),在TreeSet内部会自动调用存储的引用类型对象的实现的Comparable接口中的c转载 2017-10-20 17:06:10 · 2109 阅读 · 0 评论