1. 程式人生 > >黑馬程式設計師—集合將自定義物件作為元素儲存到ArrayList集合中,並去除重複元素。 比如:存人物件。同姓名同年齡,視為同一個人,為重複元素。

黑馬程式設計師—集合將自定義物件作為元素儲存到ArrayList集合中,並去除重複元素。 比如:存人物件。同姓名同年齡,視為同一個人,為重複元素。

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;
}
}