Java List遍历中删除元素

来源:互联网 发布:windows下latex 编辑:程序博客网 时间:2024/05/18 00:20

先来看一段代码:

要求:把集合中所有的“two“ 元素删除

List<String> list = new ArrayList<String>();    list.add("one");    list.add("two");    list.add("two");    list.add("two");    list.add("two");    System.out.println(list.size());    System.out.println(list);    //第一种  下标遍历(从前往后)    /*for(int i = 0; i < list.size(); i++) {    if("two".equals(list.get(i))) {    list.remove(i);    }    }*/        //第二种 下标遍历(从后往前)    /*for(int i = list.size() - 1; i >= 0; i--) {    if("two".equals(list.get(i))) {    list.remove(i);    }    }*/    //第三种  简单写法    /*for(String str : list) {    if("two".equals(str)) {    list.remove(str);    }    }*/    //第四种  迭代器    for(Iterator<String> it = list.iterator(); it.hasNext();) {    String str = it.next();    if("two".equals(str)) {    it.remove();    }    }    System.out.println(list.size());    System.out.println(list);

上面代码中, 只有第二种和第四种可以实现。



0 0