Java中的增强For-Each循环

学习

for (Element element : elements) 是一种在Java中用于迭代集合(数组或类似的数据结构)的增强型for循环语法,也被称为"for-each"循环。它提供了一种更简洁、更可读的方式来遍历集合中的元素。

具体来说,这个语法有以下特点和用法:

语法结构:for (元素类型 元素变量 : 集合)。在括号中,你首先声明一个元素变量,然后使用冒号分隔它和要遍历的集合(如数组或列表)。

工作原理:for-each循环会自动迭代集合中的每个元素,将每个元素赋值给指定的元素变量,并执行循环体中的代码块,直到遍历完所有元素为止。

元素类型:声明的元素变量的类型必须与集合中元素的类型兼容。在遍历过程中,元素变量的类型将自动匹配集合中元素的类型。

集合类型:for-each循环适用于数组、集合类(如List、Set)、Map中的keySet()、values()等等。但它不支持直接遍历Map的键值对,因为键值对是成对的,需要分别迭代键和值。

不支持修改:for-each循环只支持遍历和读取集合中的元素,不支持对集合进行修改。如果需要在遍历过程中修改集合,应该使用传统的for循环或迭代器。

总结

总之,for-each循环是一种便捷的语法结构,用于遍历集合中的元素,可以提高代码的可读性和简洁性。它在很多情况下是处理集合元素的首选方式。

测试代码

import javax.print.attribute.HashPrintJobAttributeSet;
import java.util.ArrayList;
import java.util.HashMap;

public class ForEach1 {
    private static String array1[] = {"hello", "world"};//1. 初始化Java字符串数组的两种方式,变量声明赋初值
    private static int[] array2;
    private static ArrayList<Integer> arrayList = new ArrayList<>();
    private static HashMap<Integer, String> hashMap=new HashMap<>();


    public static void main(String[] args) {
//        array1 = new String[]{"hello", "world", "array", "1"}; //2. java字符串数组在赋值的时候使用new 大括号来配合完成赋值
//        test1(array1);

//        test2();
//        array2 = new int[]{1, 2, 3, 4, 5};
//        test2(array2);


        arrayList.add(1);
        arrayList.add(2);
        arrayList.add(3);
//        test3(arrayList);


        hashMap.put(1, "hello");
        hashMap.put(2, "world");
        hashMap.put(3, "from");
        hashMap.put(4, "wangguowei");
        test4(hashMap);
    }

    private static void test1(String array[]) {
        for (String s : array) {
            System.out.println(s);
        }
    }

    private static void test2() {
        System.out.println("调用了无参数的test2方法");
    }

    private static void test2(int[] array) {
        System.out.println("调用了有参数的test2方法");
        for (int i : array) {
            System.out.println(i);
        }
    }

    private static void test3(ArrayList<Integer> arrayList) {
        for (Integer integer : arrayList) {
            System.out.println(integer);
        }
    }

    private static void test4(HashMap<Integer, String> hashMap) {
        for (Integer key : hashMap.keySet()) {
            System.out.println("key: " + key + " value: " + hashMap.get(key));
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王摇摆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值