码迷,mamicode.com
首页 > 其他好文 > 详细

【方法】list<?> 两个list集合 查找不同元素,求差值

时间:2019-06-30 22:05:51      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:bsp   ring   迭代   行数据   while   i++   hash   set   move   

//方法1
 //自己声明list
       for(int i=0;i<list1.size();i++)
        {
            for(int j=0;j<list2.size();j++) {
                if (list1.get(i).toString().equals(list2.get(j).toString()))//查找相同的元素
                {
                    list1.remove(i);//删除list1下标为i的元素
                    i--;              
//删除下标后list元素变少需要减少下标值,list不会和数组一样占用空间
                    break;
                }
            }

        }

//方法2

//获取两个集合的差集
    public List<?> removeAll(List<?> src, List<?> target) {
        LinkedList<?> result = new LinkedList<>(src); //大集合用linkedlist
        HashSet<?> targetHash = new HashSet<>(target); //小集合用hashset
        Iterator<?> iter = result.iterator(); //采用Iterator迭代器进行数据的操作

        while(iter.hasNext()){
            if(targetHash.contains(iter.next())){
                iter.remove();
            }
        }
        return result;
    }

 

【方法】list<?> 两个list集合 查找不同元素,求差值

标签:bsp   ring   迭代   行数据   while   i++   hash   set   move   

原文地址:https://www.cnblogs.com/suncos/p/11111390.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!