package cn.itcast_01;
import java.util.HashSet;
/*
*
* HashSet:存储字符串并遍历
*
* 问题:
* 为什么存储字符串只存储一个呢?
*
* 通过查看原码:我们知道了这个底层依赖两个方法:hasCode()和equals()
*
* 步骤:
* 首先比较哈希值
* 如果相同,继续走,比较地址值或走equals()
* 如果不同,就直接添加
* 按照上方的步骤来说:
* 先看hasCode()值是否相等
* 相同,就继续走equals()方法
* 返回true:说明元素重复,就不添加
* 返回false,说明元素不充复,就添加到集合
* 不同,就直接添加到集合
* 因为:
* String类重写了hasCode()方法和equals();方法 ,所以它就可以把内容相同的字符串去掉,只留下一个
*
* 如果类没有重写这两个方法,默认使用的Object().一般来说哈希值不会相同
*
*
*/
public class HashSet存储字符串并遍历 {
public static void main(String[] args) {
//创建集合对象
HashSet<String> has= new HashSet<String>();
//添加元素
has.add("java");
has.add("world");
has.add("hello");
//遍历集合
for(String s:has) {
System.out.println(s);
}
}
}
Java之HashSet存储字符串并遍历
最新推荐文章于 2024-08-04 17:31:08 发布