set接口
package set集合;
/*
* Set接口特点:
* 1.不允许有重复元素
* 2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历
*
* HashSet的特点:
* 1.不允许存储重复的元素
* 2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历
* 3.是一个无序的集合,存储元素和取出元素的顺序有可能不一致
* 4.底层是一个哈希表结构(查询速度非常快)
*
*
* */
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class SetDemo01 {
public static void main(String[] args) {
Set<Integer> set = new HashSet<>();
//使用add方法往集合中添加元素
set.add(2);
set.add(3);
set.add(4);
//使用迭代器遍历
Iterator<Integer> it = set.iterator();
while (it.hasNext()){
Integer s = it.next();
System.out.println(s);
}
//使用增强for循环遍历
System.out.println("************");
for (Integer its : set) {
System.out.println(its);
}
}
}
HashCode
package set集合;
/*
* 哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到地址,不是数据实际存储的物理地址)
* 在Object类中有一个方法,可以获取对象的哈希值
* int hashCode() 返回该对象的哈希值
* hashCode()方法的源码:
* public nativate int hashCode();
* native:代表该方法调用的是本地操作系统的方法
*
*
* */
public class HashCode {
public static