Java ArrayList删除特定不同元素的2种方法
1. 使用下标的方式删除
ArrayList al = new ArrayList(); al.add("a"); al.add("b"); al.add("b"); al.add("c"); for (int i = 0; i < al.size(); i++) { if (al.get(i) == "b") { al.remove(i); i--;//一定要移动下标,不然会报错 } }
在代码中,删除元素后,需要把下标减一。这是因为在每次删除元素后,ArrayList会将后面部分的元素依次往上挪一个位置(就是copy),所以,下一个需要访问的下标还是当前下标,所以必须得减一才能把所有元素都遍历完。
2. 使用Iterator元素遍历的方式删除
Iterator<String> sListIterator = list.iterator(); while(sListIterator.hasNext()){ String e = sListIterator.next(); if(e.equals("3")){ sListIterator.remove(); } }总结
两种方案实现原理都差多的,性能也差别不大,第二种只是jdk封装了下。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。