java.util.set接口 extends Collection接口
set集合的特点
1、不允许存储重复的元素
2、没有索引,没有带索引的方法,不能使用普通的for循环遍历
set接口的两个实现类:HashSet、TreeSet类
HashSet:的特点(java.util.HashSet集合 implements set接口)
1、是一个哈希表结构(查询速度很快)
2、不能存储重复的元素
3、没有索引,不能使用普通的for循环遍历
4、无序集合,存储元素和取出元素的顺序可以不一致
哈希值
是一个十进制的整数,模拟出来的地址(是一个逻辑地址,不是数据实际存储的物理地址)
在java.lang包中的object类中有一个方法可以获取对象的哈希值
int hashCode()返回该对象的哈希码值
使用方法:
查看object中的hashCode方法的源码
public native int hashCode(); //native代表该方法调用的是本地操作系统的方法
person类继承了object类,所以我们可以使用object类中的hashcode方法
object类中的toString方法的源码
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}