HashSet集合介绍
Set接口继承自Collection接口
Set接口的特点:
1.不允许存储重复的元素
2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历
HashSet集合:继承Set接口
HashSet特点:
1.不允许存储重复的元素
2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历
3.是一个无序的集合,存储元素和取出元素的顺序有可能不一致
4.底层是一个哈希结构(查询的速度非常快)
public static void main(String[] args) {
//创建HashSet集合 不允许有重复的元素
HashSet<Integer> set = new HashSet<>();
//往数组中添加元素
set.add(1);
set.add(2);
set.add(3);
set.add(3);
set.add(2);
set.add(1);
//使用迭代器遍历输出
Iterator<Integer> iterator = set.iterator();
while (iterator.hasNext()){
Integer next = iterator.next();
System.out.println(next);
}
System.out.println("=================");
//增强for循环遍历输出
for (Integer integer : set) {
System.out.println(integer);
}
}
运行结果:

哈希值
哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到的地址,不是数据实际存储的物理地址)
在Object类有一个方法,可以获取对象的哈希值
int hashCode() 返回该对象的哈希值
public static void main(String[] args) {
//demg_03继承了Object类,所以可以使用Object类的hashCode方法
demg_03 d = new demg_03();
int i = d.hashCode();//获取方法
System.out.println(i);//输出十进制的整合
demg_03 de = new demg_03();
int i1 = de.hashCode();
System.out.println(i1);
}
哈希值由系统随机给出:

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/271740.html