foreach是一种循环遍历数组或集合的语法糖,它可以用来简化代码,提高可读性。foreach 的基本语法格式如下:
for (element : collection) {// 循环体}
其中 element 表示集合中的元素,collection 表示要遍历的集合,循环体中的代码会执行若干次,每次都会取出 collection 中的一个元素,赋值给 element,然后运行循环体。
foreach 适用于遍历数组、List、Set 等实现了 Iterable 接口的集合类,具有以下特点:
可以省略初始化循环计数器、循环条件和自增表达式,代码更加简洁;
不支持对集合的元素进行修改(如果需要修改,可以使用迭代器 Iterator 进行操作);
可以避免因下标越界等错误导致的程序崩溃。
下面给出几个使用 foreach 的示例:
遍历数组
int[] arr = {1, 2, 3, 4, 5};for (int num : arr) {System.out.println(num);}
遍历 List
List<String> list = new ArrayList<>();list.add("apple");list.add("banana");list.add("orange");for (String fruit : list) {System.out.println(fruit);}
遍历 Map
Map<String, Integer> map = new HashMap<>();map.put("apple", 1);map.put("banana", 2);map.put("orange", 3);for (Map.Entry<String, Integer> entry : map.entrySet()) {System.out.println(entry.getKey() + ":" + entry.getValue());}
遍历 Set
Set<String> set = new HashSet<>();set.add("apple");set.add("banana");set.add("orange");for (String fruit : set) {System.out.println(fruit);}
总之,foreach 是一种非常实用的语法糖,可以使代码更简洁、更易读,提高代码的可维护性和可读性。要注意,在迭代过程中,由于 foreach 遍历的是集合对象的副本,而非原始集合对象,因此如果在循环内部修改集合元素,则不会影响原始集合。如果需要修改集合元素,可以考虑使用迭代器 Iterator 进行操作。