您的位置:首页 > 其它

List中删除元素remove和removeAll

2017-03-09 10:07 155 查看
public class ListTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(3);
list.add(4);
for (int i=0; i<list.size(); i++) {
if (list.get(i) == 3) {
list.remove(i);
}
}
System.out.println(list);
}
}


输出结果:[1, 2, 3, 4]

List中元素没有全部删除,由于每remove掉一个元素以后,后面的元素都会向前移动,导致则刚刚移过来的元素没有被读取。所以通过从后向前遍历可以解决这个问题,代码如下:

for (int i = list.size() - 1; i >= 0; i--) {
System.out.println(i);
if (list.get(i) == 3) {
list.remove(i);
}
}


也可以通过removeAll方法删除,传参是Collection

List<Integer> item = new ArrayList<Integer>();
item.add(3);
list.removeAll(item);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  remove
相关文章推荐