android培训、java培训、期待与您交流android培训、java培训、期待与您交流
import java.util.*;
去除ArrayList集合中的重复元素。
*/
class ArrayListTest
{
public static void main(String[] args)
{
ArrayList al = new ArrayList();
al.add("java01");
al.add("java02");
al.add("java01");
al.add("java03");
al.add("java02");
al.add("java05");
sop(al);
//al =get1(al);
//al =singleElement(al);
sop(al);
}
public static ArrayList singleElement(ArrayList al)
{
//定义一个临时容器
ArrayList newAl = new ArrayList();
/*
在迭代时循环中next调用一次,就要hasNext判断一次。
*/
Iterator it = al.iterator();
while (it.hasNext())
{
Object obj = it.next();
if (!newAl.contains(obj))
{
newAl.add(obj);
}
}
return newAl;
}
/*
public static ArrayList get1(ArrayList al)
{
ArrayList a = new ArrayList();
for (int i=0;i<al.size() ;i++ )
{
Object obj =al.get(i);
if (!a.contains(obj))
{
a.add(obj);
}
}
return a;
}*/
public static void sop(Object obj)
{
System.out.println(obj);
}
}
................
import java.util.*;
/*
将自定义对象作为元素存到ArrayList集合中,并去除重复元素。
比如:存人对象。同姓名同年龄,视为一个人,为重复元素。
思路:
1,对人描述,将数据封装进人对象。
2,定义容器,将人存入。
3,取出。
List集合判断元素是否相同,用的是元素的equals方法
*/
class Person
{
private String name;
private int age;
Person(String name,int age)
{
this.name = name;
this.age =age;
}
public int getAge()
{
return age;
}
public String getName()
{
return name;
}
public boolean equals(Object obj)
{
if (!(obj instanceof Person))
return false;
Person p =(Person)obj;
return this.name.equals(p.name)&&this.age==p.getAge();
}
}
class ArrayListTest2
{
public static void main(String[] args)
{
ArrayList<Person> al = new ArrayList<Person>();
al.add(new Person("ren1",20));
al.add(new Person("ren2",21));
al.add(new Person("ren1",20));
al.add(new Person("ren3",21));
al.add(new Person("ren3",22));
al =singleElement(al);
Iterator<Person> it =al.iterator();
while (it.hasNext())
{
Person p =it.next();
sop(p.getName()+":"+p.getAge());
}
}
public static ArrayList singleElement(ArrayList al)
{
//定义一个临时容器
ArrayList newAl = new ArrayList();
/*
在迭代时循环中next调用一次,就要hasNext判断一次。
*/
Iterator it = al.iterator();
while (it.hasNext())
{
Object obj = it.next();
if (!newAl.contains(obj))
{
newAl.add(obj);
}
}
return newAl;
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}