黑马程序员,ArrayList练习举例

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

android培训java培训、期待与您交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值