1.删除字符串的重复值
public class demo1_ArrayList {
public static void main(String[] args) {
ArrayList l=new ArrayList();
l.add("a");
l.add("b");
l.add("a");
l.add("b");
ArrayList nl=getSingle(l);
System.out.println(nl);
}
public static ArrayList getSingle(ArrayList list){
ArrayList newList=new ArrayList(); //1 创建一个新的集合,存储新的元素
Iterator it=list.iterator(); //2 根据传入的集合获取迭代器,遍历
while(it.hasNext()){
Object obj=it.next();
if(!newList.contains(obj)){ //3 判断创建的集合是否包含传入的元素,不包含则添加新元素
newList.add(obj);
}
}
return newList;
}
}
2.删除自定义对象元素的重复值
(1)先定义一个Person类,并重写toString(),Equals()方法,
public class person {
private String name;
private int age;
public person() {
super();
}
public person(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;
}
@Override
public String toString() {
return "person [age=" + age + ", name=" + name + "]";
}
@Override
public boolean equals(Object obj) {
person p=(person)obj;
return this.name.equals(p.name)&&this.age==this.age;
}
}
(2)
public static void main(String[] args) {
ArrayList l=new ArrayList();
l.add(new person("aa",1));
l.add(new person("aa",1));
l.add(new person("bb",2));
l.add(new person("bb",2));
ArrayList nl=getSingle(l);
System.out.println(nl);
}
public static ArrayList getSingle(ArrayList list){
ArrayList newList=new ArrayList();
Iterator it=list.iterator();
while(it.hasNext()){
Object obj=it.next();
if(!newList.contains(obj)){
newList.add(obj);
}
}
return newList;
}