java之增强for循环以及几种删除集合元素的方式
Posted jiangjunwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java之增强for循环以及几种删除集合元素的方式相关的知识,希望对你有一定的参考价值。
1 public class Demo1_Foreach { 2 3 /* 4 * 增强for循环格式: 5 * for(元素数据类型 变量 : 数组或者Collection集合){ 6 * 使用变量即可,该变量就是元素 7 * } 8 * 实质:底层依赖的是迭代器 9 */ 10 public static void main(String[] args) { 11 12 //demo1(); 13 List<String> l = new ArrayList<>(); 14 l.add("a"); 15 l.add("b"); 16 l.add("b"); 17 l.add("c"); 18 19 /* 20 * 1. 普通for循环删除元素 21 * 注意:索引要减减 ( -- ) 22 23 for(int i=0; i < l.size(); i++) { 24 if ("b".equals(l.get(i))) { 25 //l.remove(i); //[a, b, c] 26 l.remove(i--); //[a, c] 27 } 28 } 29 */ 30 31 /*2.迭代器删除元素 32 * Iterator<String> it = l.iterator(); 33 while (it.hasNext()) { 34 if ("b".equals(it.next())) { 35 //l.remove("b"); //不能用集合的删除方法,在遍历的同时删除元素,否则会报并发修改异常 36 it.remove(); 37 } 38 }*/ 39 40 /*for(Iterator<String> it2 = l.iterator();it2.hasNext();) { 41 if ("b".equals(it2.next())) { 42 //l.remove("b"); //不能用集合的删除方法,在遍历的同时删除元素,否则会报并发修改异常 43 it2.remove(); 44 } 45 }*/ 46 47 /*3.增强for循环方式删除,此方式无法删除,因为增强for循环底层依赖的是迭代器,利用集合的删除方法删除会报并发修改异常 48 * for (String string : l) { 49 if ("b".equals(string)) { 50 l.remove("b"); 51 } 52 }*/ 53 System.out.println(l); 54 } 55 56 public static void demo1() { 57 int[] arr = {11, 22, 33}; 58 for (int i : arr) { 59 System.out.println(i); 60 } 61 62 ArrayList<String> list = new ArrayList<>(); 63 list.add("a"); 64 list.add("b"); 65 list.add("c"); 66 67 for (String string : list) { 68 System.out.println(string); 69 } 70 } 71 72 73 } 74 75 /////////////////////////////////////////////////////////////////////////// 76 77 /* 78 * 1. 概述:定义方法时,不知道该定义几个参数时可以使用可变参数 79 * 2.格式: 80 * 修饰符 返回值类型 方法名(数据类型 ... 变量名) 81 * 82 * 3.注意事项: 83 * 这个可变参数实质就是一个数组 84 * 如果有多个参数,则可变参数必须放到最后一个 85 */ 86 public static void main(String[] args) { 87 88 int[] arr = {11, 22, 33, 44}; 89 //print(arr); 90 print(11,33,44); 91 } 92 93 /*public static void print(int[] arr) { 94 System.out.println(arr[0]); 95 }*/ 96 97 public static void print(int... arr) { 98 System.out.println(arr[0]); 99 }
以上是关于java之增强for循环以及几种删除集合元素的方式的主要内容,如果未能解决你的问题,请参考以下文章
2020/7/14 Java之增强for循环泛型List接口Set接口