本帖最后由 朱宏青 于 2012-11-5 00:50 编辑
我测试下 请捎等
测试完毕 这样就可以了- import java.util.*;
- public class test3{
- public static void sop(Object obj){
- System.out.println(obj);
- }
-
- public static void main(String[] args){
- ArrayList<test2> al = new ArrayList<test2>();
- al.add(new test2("java01",20));
- al.add(new test2("java11",20));
- al.add(new test2("java22",20));
- al.add(new test2("java02",22));
- al = SingleElement(al);
- Iterator<test2> it = al.iterator();
- while(it.hasNext()){
- test2 t2 =(test2)it.next();
- sop(t2.getName()+"...."+t2.getAge());
- }
- }
-
- public static ArrayList<test2> SingleElement(ArrayList<test2> al){
- ArrayList<test2> al2 = new ArrayList<test2>();
- if(!al2.contains(al)){
- al2.addAll(al);
- }
- return al2;
- }
- }
复制代码 test2就是你那边的person,注意一下 名字被我改了。
首先我得说 你这个arraylist声明就不对,应该类似ArrayList<Object> al = new ArrayList<Object>();定义他的范形,
最主要的是:我不懂你下面那段在做什么?arraylist里嵌一个arraylist?
我看了下标题,大致知道你需要做什么了:你想把里面重复的元素给除掉,然后把不重复的元素放到另一个集合里,是不是这样?
如果是这样的话,我这里有个苯方法,思路是这样的:把al里的每个元素都拿出来放到另一个集合中,每次放进去的时候进行对比,找到重复的就不要放入了,直接coutinue;
嘛 差不多就这样
|