From b5ff8ffb1ff4e0c6dbd44c36c532c2960860923c Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Wed, 14 Oct 2026 13:39:17 +0800 Subject: [PATCH] =?UTF-8?q?s-day03--HashSet=E7=89=B9=E7=82=B9=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E9=81=8D=E5=8E=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/inmind/set02/HashSetDemo06.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 s-day03/src/com/inmind/set02/HashSetDemo06.java diff --git a/s-day03/src/com/inmind/set02/HashSetDemo06.java b/s-day03/src/com/inmind/set02/HashSetDemo06.java new file mode 100644 index 0000000..882357f --- /dev/null +++ b/s-day03/src/com/inmind/set02/HashSetDemo06.java @@ -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 sets = new HashSet<>(); + sets.add("张飞"); + sets.add("关羽"); + sets.add("刘备"); + sets.add("张飞"); + System.out.println(sets); + + //set集合的遍历,没有素引的,所以普通for循环不能实现遍历 + //迭代器遍历 + Iterator 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)); + + } +}