HashSet集合概述和特点

HashSet集合在java.util包下。HashSet集合也有泛型,即集合里面存储数据的类型

HashSet集合是一个具体的类,继承了AbstractSet

HashSet集合实现类三个接口,分别是Set、Cloneable、Serializable

HashSet类实现类Set接口,由哈希表(实际为HashMap实例)支持。对集合的迭代顺序不做任何保证。HashSet类允许null元素

HashSet接口的底层数据结构是哈希表HashMap

 

总结: 1、该集合的底层数据结构是哈希表HashMap 2、HashSet集合对集合的迭代顺序不作任何保证,即不保证存储和取出的元素顺序一致 3、没有带索引的方法,所以不能使用普通for循环进行遍历 4、由于是Set集合,所以是不包含重复元素的集合 5、该集合是不包含重复元素的集合

 

HashSet集合概述和特点的练习

 

HashSet集合保证元素唯一性的分析

 

HashSet集合存储学生对象并遍历

需求:创建一个学生对象的集合,存储多个学生对象,使用程序实现在控制台遍历该集合 要求:学生对象的成员变量值相同,我们就认为是同一个对象

思路: 1、定义学生类 2、创建HashSet集合对象 3、创建学生对象 4、把学生添加到集合 5、遍历集合,使用增强for的遍历方式 6、在学生类里面重写hashCode和equals方法

注意:如果不在学生类里面重写hashCode和equals方法,则会导致同一个元素也会被存储进集合,即违背HashCode集合元素的唯一性

 

HashSet集合存储学生对象并遍历的练习