温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Set迭代器怎么用

发布时间:2026-09-14 12:36:44 来源:亿速云 阅读:95 作者:小樊 栏目:编程语言

在 Java 中,Set 是一个不包含重复元素的集合,Set 本身没有下标,因此通常通过迭代器(Iterator)增强 for 循环来遍历。

下面详细说明 Set 迭代器的用法


一、使用 Iterator 遍历 Set(最标准方式)

示例(以 HashSet 为例)

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class SetIteratorDemo {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        set.add("A");
        set.add("B");
        set.add("C");

        // 获取迭代器
        Iterator<String> it = set.iterator();

        // 使用 while 循环遍历
        while (it.hasNext()) {
            String value = it.next();
            System.out.println(value);
        }
    }
}

关键点说明

  • set.iterator():获取 Set 的迭代器
  • hasNext():判断是否还有下一个元素
  • next():获取下一个元素

二、使用迭代器删除元素(安全方式 ✅)

不要直接在 for-each 中删除 Set 元素,会抛异常
✅ 使用 Iterator.remove() 是安全的

Iterator<String> it = set.iterator();
while (it.hasNext()) {
    String value = it.next();
    if ("B".equals(value)) {
        it.remove(); // 安全删除
    }
}

三、增强 for 循环(底层也是迭代器)

for (String s : set) {
    System.out.println(s);
}

⚠️ 注意:

  • 不能在其中调用 set.remove()
  • 只是“简化版迭代器”

四、Java 8+ forEach(函数式写法)

set.forEach(System.out::println);

五、常见 Set 类型的迭代器使用

无论是:

  • HashSet
  • TreeSet
  • LinkedHashSet

迭代器用法完全一样

Set<Integer> treeSet = new TreeSet<>();
Iterator<Integer> it = treeSet.iterator();

六、总结

方式 是否推荐 是否可删除
Iterator ✅ 推荐 ✅ 可
for-each ✅ 简单 ❌ 不可
forEach ✅ 简洁 ❌ 不可

如果你想要 LinkedHashSet 顺序遍历TreeSet 排序遍历 的例子,也可以告诉我。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI