[Java] 容器-02 HashSet 类 / Iterator 接口

import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;

public class TestIterator {
    public static void main(String[] args) {
        Collection c = new HashSet();
        c.add(new Name("f1", "l1"));
        c.add(new Name("f2", "l2"));
        c.add(new Name("fff3", "lll3"));
        c.add(new Name("f4", "l4"));
        c.add(new Name("fff5", "lll5"));
        Iterator it = c.iterator();
        while (it.hasNext()) {
            Name n = (Name)it.next();
            System.out.println(n.getFirstName()); // 输出的结果,只要能遍历就可以,因为 HashSet 没顺序。
        }
        System.out.println("--------------------");
        for (Iterator i = c.iterator(); i.hasNext();) {
            Name name = (Name)i.next();
            if (name.getFirstName().length() < 3) {
                i.remove();
                // 这里不要写 c.remove(name) , 会产生例外。因为此时这里的大管家是 Iterator, 它会执行锁定。
                // c.remove(name);
            }
        }
        System.out.println(c);
    }
}
f1 fff3 f2 fff5 f4   //  输出的结果,只要能遍历就可以,因为 HashSet 没顺序。
--------------------
[fff3 lll3, fff5 lll5]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值