日期:2014-05-20 浏览次数:20701 次
Iterator<Integer> it = listA.iterator(); while (it.hasNext()) { int tmp = it.next(); if (listB.contains(tmp)) { listB.remove(listB.indexOf(tmp)); it.remove(); } }
List<Integer> listA = new ArrayList<Integer>(); List<Integer> listB = new ArrayList<Integer>(); listA.add(1); listA.add(2); listA.add(3); listB.add(2); listB.add(3); listB.add(6); Iterator<Integer> it = listA.iterator(); while (it.hasNext()) { int tmp = it.next(); if (listB.contains(tmp)) { listB.remove(new Integer(tmp)); it.remove(); } }
------解决方案--------------------
楼主不知道想没想过重复的现像怎么办。
比如你的LISTA里面有两个2,LISTB中有一个。2
你的第一次循环会删掉A的1个2.和B的2.
那到第二个2怎么办。