黑马程序员—集合将自定义对象作为元素存储到ArrayList集合中,并去除重复元素。 比如:存人对象。同姓名同年龄,视为同一个人,为重复元素。

来源:互联网 发布:网页秒杀软件 编辑:程序博客网 时间:2024/05/20 11:50

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------



package fourteen;
import java.util.*;
public class eleven {


/**
将自定义对象作为元素存储到ArrayList集合中,并去除重复元素。
比如:存人对象。同姓名同年龄,视为同一个人,为重复元素。
思路:
1.对人描述,将数据封装尽速对象。
2.定义容器将人存入。
3.取出。
*/
public static void sop(Object j)
{
System.out.println(j);
}

public static void main(String[] args) {
ArrayList a=new ArrayList();
a.add(new person("lisii1",19));
a.add(new person("lisii1",19));
a.add(new person("lisii2",190));
a.add(new person("lisii3",194));
a.add(new person("lisii3",194));
sop("remove1:"+a.remove(new person("lisii3",194)));
a=singleElement(a);
Iterator it=a.iterator();
while(it.hasNext())
{
person p=(person)it.next();
sop(p.getname()+"::"+p.getage());
}
}
public static ArrayList  singleElement(ArrayList a)
{
ArrayList newa=new ArrayList();
Iterator it=a.iterator();
while(it.hasNext())
{
Object obj=it.next();
if(!newa.contains(obj))
newa.add(obj);

}
return newa;
}
}


class person
{
private String name;
private int age;
person(String name,int age)
{
this.name=name;
this.age=age;
}
public boolean equals(Object obj)
{
if(!(obj instanceof person))
return false;
person p=(person)obj;
System.out.println(this.name+"...."+p.name);
return this.name.equals(p.name)&&this.age==p.age;
}
/**/
public String getname()
{
return name;
}
public int getage()
{
return age;
}
}

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------



0 0
原创粉丝点击