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     }

原文地址:https://www.cnblogs.com/jiangjunwei/p/9222145.html

时间: 2024-10-09 09:04:02

java之增强for循环以及几种删除集合元素的方式的相关文章

Js之Dom学习-三种获取页面元素的方式、事件、innerText和innerHTML的异同

一.三种获取页面元素的方式: getElementById:通过id来获取 <body> <input type="text" value="请输入一个值:" id="txt"/> <input type="button" value="按钮" id="btn"/> <script> var txt=document.getElementB

sql有几种删除表数据的方式

有几种删除表数据的方式? truncate.delete和drop都可以删除数据. TRUNCATE TABLE删除表中的所有行,而不记录单个行删除操作. TRUNCATE TABLE 与没有 WHERE 子句的 DELETE 语句类似:但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少.DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项.TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放. TRU

循环中安全删除集合元素

在循环中删除集合元素可能出现数组越界的问题,比如: List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); for (Integer item : list) { System.out.println(item); if (item == 1) { list.remove(item); } } 正确的做法是使用迭代器: List<Integer> list = new

Java学习——增强for循环、switch

增强for循环 Java5引入了一种主要用于数组的增强型for循环. 例子 public class ForTest { public static void main(String args[]){ int [] numbers = {1, 3, 5, 7, 2, 4, 6, 8}; for (int x: numbers){ System.out.print(x); System.out.print(","); } System.out.println(); String [] n

Java中增强for循环的用法

此方法在jdk1.5之后才出现. 1:遍历数组 语法: for (Type value : array) { expression value; } 例子: void Sum() { int[] array = {1,2,5,8,9}; int sum= 0; for (int n : array) { sum+= n; } 缺点:   对于数组,难以访问下标值: 2:遍历集合 语法: for (Type value : Iterable) { expression value; } 例子: v

Java基础——增强for循环

java1.5版本引入了一个增强for循环,基本原理和for循环类似. 语法声明:for(表达式:条件表达式) 举例:for (String str : set) 解释:set代表set集合,str代表set集合中存放的类型. 代码示例如下: Set<String> set = new HashSet<String>(); Iterator<String> it = set.iterator(); while (it.hasNext()) { String str =

Java中增强for循环在一维数组和二维数组中的使用

一维数组: int[] a={1,2,3}; for(int i:a) { System.out.print(i+" "); } 输出:1 2 3 二维数组: import java.util.Scanner; public class tet { public static void main(String[] args) { //int[][] b={{1,2,3},{4,5,6}};行 int[][] a=new int[5][];//必须明确行数 for(int i=0;i&l

Java的增强for循环

增强型for循环只能用来取值,却不能用来修改数组里的值 1 public class HelloWorld { 2 public static void main(String[] args) { 3 int values [] = new int[]{18,62,68,82,65,9}; 4 //常规遍历 5 for (int i = 0; i < values.length; i++) { 6 int each = values[i]; 7 System.out.println(each);

java中增强for循环

这几天在搞毕业设计答辩 就没学习了,为了不断写博客的时间,今天分享一个基础把 @Test public void test2() { List list = new ArrayList(); list.add(1); list.add(2); list.add(3); list.add(4); for(Object num : list){ int i = (Integer) num; System.out.print(i+" "); } } @Test public void tes