[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]
原文地址:https://www.cnblogs.com/robbychan/p/3786906.html