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]