1、理论:
1.1、hashSet 的底层数据结构是 哈希表
1.2、存储元素和取出元素 的顺序不一致
1.3、不能使用普通for循环遍历(因为没有带索引的方法)。应该使用 迭代器或 for each 来遍历
1.4、hashSet 是不包含重复元素的集合
2、代码:
public class HashSetDemo {public static void main(String[] args) {Set<String> hashSet = new HashSet<>();boolean b = hashSet.add("hello");System.out.println(b); // truehashSet.add("world");boolean b2 = hashSet.add("hello");System.out.println(b2); // falseSystem.out.println("hashSet 是不包含重复元素的集合");if (!hashSet.add("world")) {System.out.println("123"); // 因为添加 world 没有成功,所以会输出 123}//1、迭代器遍历System.out.println("迭代器遍历hashSet,结果如下~~~");Iterator<String> iterator = hashSet.iterator();while(iterator.hasNext()){System.out.println(iterator.next());}//2、for each 遍历System.out.println("for each遍历hashSet,结果如下~~~");for(String s : hashSet) {System.out.println(s);}}
}
上述代码的运行结果为:
true
false
hashSet 是不包含重复元素的集合
123
迭代器遍历hashSet,结果如下~~~
world
hello
for each遍历hashSet,结果如下~~~
world
hello