黑马程序员技术交流社区
标题:
ArrayList去重复值
[打印本页]
作者:
三土
时间:
2015-7-26 23:22
标题:
ArrayList去重复值
package com.itheima1;
import java.util.ArrayList;
import java.util.Iterator;
public class person {
private String name;
private int age;
public person(String name, int age) {
// TODO Auto-generated constructor stub
this.name=new String(name);
this.age=age;
}
public int getAge() {
return age;
}
public String getname() {
return name;
}
@Override
public boolean equals(Object obj) {//重写equals,不比较引用
// TODO Auto-generated method stub
if (!(obj instanceof person)) {//判断要比较的对象是不是person
return false;
}
person p1 =(person)obj;
// p1.getname()
return this.name.equals(p1.name) && this.age==(p1.age);//比较name.age的值并返回boolean类型
}
}
package com.itheima1;
import java.util.ArrayList;
import java.util.Iterator;
class aslist{
public static void main(String[] args) {
ArrayList a =new ArrayList<>();
a.add(new person("zy0", 17));
a.add(new person("zy0", 17));
a.add(new person("zy1", 18));
a.add(new person("zy2", 19));
a.add(new person("zy3", 20));
ArrayList aa = saig(a);
Iterator iter =aa.iterator();//获迭代器
while (iter.hasNext()) {
person pp =(person)iter.next();//强转
System.out.println(pp.getAge()+"____"+pp.getname());
}
}
public static ArrayList saig( ArrayList a1){//去重复值
ArrayList newa =new ArrayList<>();
Iterator it= a1.iterator();
while (it.hasNext()) {//迭代原集合
Object j =it.next();
if(!newa.contains(j)) {//新集合是否包含,不包含就添加,确保不重复
newa.add(j);
}
}
return newa;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2