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

© 王责彬 中级黑马   /  2014-8-20 17:00  /  1072 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

删除LIST中重复元素方法一:循环元素删除
// 删除ArrayList中重复元素
    public static void removeDuplicate(List list) {
        for (int i = 0; i < list.size() - 1; i++) {
            for (int j = list.size() - 1; j > i; j--) {
                if (list.get(j).equals(list.get(i))) {
                    list.remove(j);
                }
            }
        }
        System.out.println(list);
    }



方法二:通过HashSet剔除
// 删除ArrayList中重复元素
    public static void removeDuplicate(List list) {
        Set set = new HashSet(list);
        list.clear();
        list.addAll(set);
        System.out.println(list);
    }



方法三: 删除ArrayList中重复元素,保持顺序
// 删除ArrayList中重复元素,保持顺序
    public static void removeDuplicateWithOrder(List list) {
        Set set = new HashSet();
        List newList = new ArrayList();
        for (Iterator iter = list.iterator(); iter.hasNext();) {
            Object element = iter.next();
            if (set.add(element))
                newList.add(element);
        }
        list.clear();
        list.addAll(newList);
        System.out.println(" remove duplicate " + list);
    }


1 个回复

倒序浏览
remove好像只能将数据移除集合吧,不能彻底删除!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马