java之List接口 迭代过程中添加元素
list接口:有下标,存取有序,允许有重复的元素(equals方法),比较是否有重复的元素。
常用接口实现类:ArrayList集合 Linkedlist集合
1 //有序 可重复 有下标值 2 List<String> arr=new ArrayList<String>();//此时多态创建对象,仍为集合 3 arr.add("1"); 4 //向指定的位置上添加元素,原有元素后移 5 arr.add(0,"2"); 6 arr.add(1,"2"); 7 //获得指定下标上的元素 8 System.out.println(arr.get(0)); 9 //删除指定位置的元素 10 System.out.println("删除的元素为"+arr.remove(1)); 11 //删除指定的元素 返回布尔值 12 System.out.println("删除的元素为"+arr.remove("1")); 13 //替换指定位置上的元素 14 arr.set(1, "hello"); 15 //3种遍历方式 迭代器 强for循环 普通for循环 16 for(int i=0;i<arr.size();i++){ 17 System.out.println(arr.get(i)); 18 }
如何在迭代过程中添加元素:最好别再一个集合迭代中添加删除元素
1 一种替代方案可以是Collection将新创建的元素添加到单独的元素,然后迭代这些元素: 2 3 Collection<String> list = Arrays.asList(new String[]{"Hello", "World!"}); 4 Collection<String> additionalList = new ArrayList<String>(); 5 6 for (String s : list) { 7 // Found a need to add a new element to iterate over, 8 // so add it to another list that will be iterated later: 9 additionalList.add(s); 10 } 11 12 for (String s : additionalList) { 13 // Iterate over the elements that needs to be iterated over: 14 System.out.println(s); 15 }