java:集合框架(三种迭代的能否删除)

xiaoxiao2021-07-27  81

import java.util.ArrayList; import java.util.Iterator; import com.heima.bean.person; public class Demo1_Foreach { public static void main(String[] args) { ArrayList<String> list=new ArrayList<>(); list.add("a"); list.add("b"); list.add("b"); list.add("c"); list.add("d"); // 1.普通for循环进行删除,索引要-- for(int i=0;i<list.size();i++) { if("b".equals(list.get(i))){ list.remove(i);//通过索引删除元素 i--;//为了避免相邻二个同样的元素不能被全部删除,因为每删除一个数组内的元素会自动向前调整索引位置 } } // 2.迭代器删除 Iterator<String> it=list.iterator(); while(it.hasNext()) { if("b".equals(it.next())) { it.remove();; } } // 3.for增强不能删除,只能遍历,因为增加底层依赖的是迭代器,只能使用迭代器本身的方法进行删除,不能使用集合的删除方法 // for (String s : list) { // if("b".equals(s)) { // list.remove("b"); // } // } System.out.println(list); } }

 

转载请注明原文地址: https://www.6miu.com/read-4823398.html

最新回复(0)