Table of Contents
集合类存放在java.util包中,是一个用来存放对象的容器。
- 集合只能存放对象,比如存一个int型整数5放入集合中,其实它是自动转换成Integer类后存入的,java中每一种基本类型都有对应的引用类型
- 集合存放的是多个对象的引用,对象本身还是放在堆内存中
- 集合可以存放不同类型,不限数量的数据类型
java集合可分为Set、List和Map三种大体系:
- Set:无序、不可重复的集合
- List:有序,可重复的集合
- Map:具有映射关系的集合
在JDK5之后,增加了泛型,Java集合可以记住容器中对象的数据类型。
HashSet
HashSet是Set接口的典型实现,大多数时候使用Set集合时都是使用这个实现类。
HashSet按Hash算法来存储集合张的元素,因此具有很好的存取和查找性能。
HashSet具有以下特性:
- 不能保证元素的排列顺序
- 不可重复(指hashCode值不相同)
- HashSet不是线程安全的
- 集合元素可以是null
- 集合可以存不同类型的对象
当向HashSet集合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,