代码块
Iterator去除一个List中与另一个List相同的元素,例如:
public class IteratorTest
{
public static void main(String[] args)
{
List<Integer> listA = new ArrayList<Integer>();
listA.add(1);
listA.add(2);
listA.add(3);
List<Integer> listB = new ArrayList<Integer>();
listB.add(3);
listB.add(4);
listB.add(5);
for (Iterator<Integer> itA = listA.iterator(); itA.hasNext();)
{
Integer temp = itA.next();
// itA.next() 只能在外层循环里面调用1次
for (int i = 0; i < listB.size(); i++)
{
if (temp.equals(listB.get(i)))
// ^^^^ 你不该在这里多次调用itA.next()的
{
itA.remove();
}
}
}
System.out.println(listA.size());
}
}
代码块
Iterator按条件去除元素,例如:
Iterator<String> sListIterator = list.iterator();
while(sListIterator.hasNext()){
String e = sListIterator.next();
if(e.equals("6")){
sListIterator.remove();
}
}