A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© life55 中级黑马   /  2016-2-3 14:02  /  700 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

*  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;                                    //将新集合返回
            }


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

5 个回复

倒序浏览
知道了,因为它是用老集合获取的迭代器.
回复 使用道具 举报
getSingle(list);
传入的参数就是老集合
回复 使用道具 举报
好大一只 发表于 2016-2-3 15:06
getSingle(list);
传入的参数就是老集合

是的.一开始没注意到
回复 使用道具 举报
你们都好厉害啊
回复 使用道具 举报

我是菜鸟  哈哈
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马