Java List遍历中删除元素

先来看一段代码:

要求:把集合中所有的“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);

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




版权声明:本文为asdfsfsdgdfgh原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。