摘要: 1. ArrayList概述: ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组 阅读全文
posted @ 2017-08-14 21:17 孙秋翔_quinns 阅读(267) 评论(0) 推荐(0) 编辑
摘要: HashSet: HashSet实现了Set接口,它不允许集合中出现重复元素。当我们提到HashSet时,第一件事就是在将对象存储在 HashSet之前,要确保重写hashCode()方法和equals()方法,这样才能比较对象的值是否相等,确保集合中没有 储存相同的对象。如果不重写上述两个方法,那 阅读全文
posted @ 2017-08-14 16:22 孙秋翔_quinns 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 注:本人的源码基于JDK1.8.0,JDK的版本可以在命令行模式下通过java -version命令查看。 在前面的博文(Java集合框架源码(一)——hashMap)中我们详细讲了HashMap的原理,对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保存元素。 一、 阅读全文
posted @ 2017-08-14 14:39 孙秋翔_quinns 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 1、HashMap不是线程安全的 HashMap是map接口的子类,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。 2、HashTable是线程安全 HashMap是Hashtab 阅读全文
posted @ 2017-08-14 10:28 孙秋翔_quinns 阅读(158) 评论(0) 推荐(0) 编辑