import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Iterator {
public static void main(String[] args) {
Set set = new HashSet();
set.add(new String("abc"));
set.add(new Date());
set.add(new Integer(20));
set.add(null);
Person p = new Person("10", "张三");
set.add(p);
Person p2 = new Person("30", "张三");
set.add(p2);
Iterator it = set.iterator();
while(it.hasNext()){
Object obj = it.next();
if(obj instanceof Person){
Person person = (Person)obj;
if("10".equals(person.getId())){
it.remove();//通过迭代器删除对象
}
}
}
System.out.println();
//输出[null, abc, Tue Mar 19 21:05:17 CST 2013, 30--张三, 20]
System.out.println(set);
}
}
class Person{
private String id;
private String name;
public Person(String id, String name) {
super();
this.id = id;
this.name = name;
}
@Override
public String toString() {
return id+"--"+name;
}
@Override
public boolean equals(Object obj) {
if(this == obj){ //是不是对象?
return true;
}
if(obj instanceof Person){ //是人这个对象吗?
Person person = (Person)obj; //传入的对象重新现出人的面目
if(this.id == person.id && this.name.equals(person.name)){
return true; //判断是否号码,名字,相等?对,回true;
}
}
return false;
}
@Override
public int hashCode() {
return id.hashCode(); //id是String类型的,回int类型调hashCode().
} //如果那个数是整型的,直接回那个值
//get和set方法
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
集合Set迭代器删除对象
最新推荐文章于 2025-06-23 22:30:11 发布