s-day03--HashSet特点以及遍历

This commit is contained in:
xx
2026-10-14 13:39:17 +08:00
parent d2eda4d4be
commit b5ff8ffb1f
@@ -0,0 +1,40 @@
package com.inmind.set02;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
/*
HashSet特点以及遍历
HashSet接口的特点:
1.存取无序(怎么存不一定怎么取)
2.没有索引
3.不能重复
HashSet底层数据结构是哈希表(数组+双向链表+红黑树),就是一个HashMap
*/
public class HashSetDemo06 {
public static void main(String[] args) {
HashSet<String> sets = new HashSet<>();
sets.add("张飞");
sets.add("关羽");
sets.add("刘备");
sets.add("张飞");
System.out.println(sets);
//set集合的遍历,没有素引的,所以普通for循环不能实现遍历
//迭代器遍历
Iterator<String> iterator = sets.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
//增强for循环遍历:语法糖--本质就是迭代器
for (String s : sets) {
System.out.println(s);
}
//借用set集合来实现去重,转为数组
Object[] array = sets.toArray();
System.out.println(Arrays.toString(array));
}
}