黑马程序员技术交流社区

标题: 关于集合去除相同元素 [打印本页]

作者: life55    时间: 2016-2-3 14:02
标题: 关于集合去除相同元素
*  A:案例演示
             * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)
             * 思路:创建新集合方式
             */
            public static void main(String[] args) {
                ArrayList list = new ArrayList();
                list.add("a");
                list.add("a");
                list.add("b");
                list.add("b");
                list.add("b");
                list.add("c");
                list.add("c");
                list.add("c");
                list.add("c");
               
                System.out.println(list);
                ArrayList newList = getSingle(list);
                System.out.println(newList);
            }
        
            /*
             * 去除重复
             * 1,返回ArrayList
             * 2,参数列表ArrayList
             */
            public static ArrayList getSingle(ArrayList list) {
                ArrayList newList = new ArrayList();            //创建一个新集合
                Iterator it = list.iterator();                          //获取迭代器
                while(it.hasNext()) {                                 //判断老集合中是否有元素
                    String temp = (String)it.next();            //将每一个元素临时记录住
                    if(!newList.contains(temp)) {                //如果新集合中不包含该元素
                        newList.add(temp);                        //将该元素添加到新集合中
                    }
                }
                return newList;                                    //将新集合返回
            }


请问上面(判断老集合中是否有元素)这里的代码怎么知道它是在判断老集合还是新集合呀?

作者: life55    时间: 2016-2-3 14:15
知道了,因为它是用老集合获取的迭代器.
作者: 好大一只    时间: 2016-2-3 15:06
getSingle(list);
传入的参数就是老集合
作者: life55    时间: 2016-2-3 15:08
好大一只 发表于 2016-2-3 15:06
getSingle(list);
传入的参数就是老集合

是的.一开始没注意到
作者: 轩占伟    时间: 2016-2-3 22:38
你们都好厉害啊
作者: life55    时间: 2016-2-3 23:38
轩占伟 发表于 2016-2-3 22:38
你们都好厉害啊

我是菜鸟  哈哈




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