ArrayList中实现内容不重复,arraylist内容重复
分享于 点击 40843 次 点评:202
ArrayList中实现内容不重复,arraylist内容重复
package aggregate;
public class PersonDemo {
private String name;
private int age;
public PersonDemo(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public static void main(String[] args) {
}
public String toString()
{
return this.getName()+","+this.getAge() ;
}
public boolean equals(Object obj) {
PersonDemo p=(PersonDemo)obj;//需要通过自定义的类中的元素来进行判断,所以要进行向下转型的操作,在此之前可能还需要进行健壮性的判断
return this.name .equals(p.name) && this.age==p.age;
}
}
package aggregate;
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList a=new ArrayList();
a.add(new PersonDemo("jack",20));
a.add(new PersonDemo("jack1",21));
a.add(new PersonDemo("jack2",22));
a.add(new PersonDemo("jack1",21));
System.out.println(a.toString());
a=get(a);
System.out.println(a.toString());
}
public static ArrayList get(ArrayList s) {//主要思想为创建一个Array List容器来存储
ArrayList temp= new ArrayList();
Iterator i=s.iterator();
while(i.hasNext()) {
Object obj=i.next();
if(!temp.contains(obj))//contains判断是否在里面是通过equals方法来判断的,因为ArrayList中的equals无法对自定义的类进行判断,所以我们要对equals方法进行复写
{
temp.add(obj);
}
}
return temp;
}
}
相关文章
- 暂无相关文章
用户点评