黑马程序员技术交流社区

标题: 去掉List集合重复元素 [打印本页]

作者: 暴走的牛奶    时间: 2015-8-26 23:29
标题: 去掉List集合重复元素
package cn.itcast.list;
/*
*  去掉List集合重复元素
*    由于List本身运行存储重复元素
*    自定义方法实现
*
*  去掉自定义的对象
*/
import java.util.*;
import cn.itcast.beans.*;;
public class ListTest {
        public static void main(String[] args) {
                //定义集合,存储字符串
        /*        List list = new ArrayList();
                list.add("abc");
                list.add("itcast");
                list.add(new String("java"));
                list.add(new String("java"));
                list.add("php");
                list.add("ios");
                list.add("ios");*/
               
                //定义集合,存储自定义的学生对象,姓名年龄相同的,去掉
                List list = new ArrayList();
                list.add(new Student("a",10));
                list.add(new Student("b",12));
                list.add(new Student("c",15));
                list.add(new Student("b",12));
               
                System.out.println(list);
                list = method(list);
                System.out.println(list);
        }
        /* 定义方法,实现去掉List集合重复元素
         * 方法需要参数,方法在计算中有不确定的数据
         * 运算完成,返回去掉重复后的集合
         */
        public static List method(List list){
                // 创建新的集合
                List newlist = new ArrayList();
                //迭代传递过来的集合
                Iterator it = list.iterator();
                while(it.hasNext()){
                        //变量,存储next方法的结果,重用变量,next只能有一次
                        Object o = it.next();
                        //判断元素o,在新的集合中有没有
                        if(!newlist.contains(o))
                                //if成立,元素没有,存储到新集合
                                newlist.add(o);
                }
                //迭代完成,返回新集合
                return newlist;
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2