Java中增强for循环代码示例
作者:zgl懒羊羊
增强for循环(Enhanced for loop),也被称为for-each循环,是一种简化遍历数组和集合元素的语法结构。它可以遍历数组、集合或其他实现了Iterable接口的数据结构。
增强for循环的语法结构如下:
for (元素类型 变量名 : 需要遍历的数组或集合) { // 进行操作 }
其中,元素类型表示数组或集合中元素的类型,变量名表示每次迭代中获取到的当前元素的值。在循环体中,可以直接使用变量名访问当前的元素,并执行相应的操作。增强for循环的优点是简洁、易读,并且能够避免索引操作,适用于不需要修改数组或集合元素的情况。
以下是一个示例,展示如何使用增强for循环遍历数组和集合:
//数组 int[] numbers = {1, 2, 3, 4, 5}; for (int number : numbers) { System.out.println(number); } //集合 ArrayList<String> names = new ArrayList<>(); names.add("测试"); names.add("你好"); for (String name : names) { System.out.println(name); }
在上述示例中,第一个循环使用增强for循环遍历整型数组numbers
,并将每个元素打印出来。第二个循环使用增强for循环遍历字符串类型的ArrayList集合names
,同样将每个元素打印出来。需要注意的是,增强for循环不能对集合进行修改(添加、删除等)。如果需要在循环过程中对集合进行操作,仍然需要使用迭代器或传统的for循环。
增强for循环适用于只需要访问数组或集合中的每个元素,并且不需要索引或迭代器的情况。它提供了一种简洁而直观的方式来遍历数组或集合中的元素。需要注意的是,增强for循环是只读的,即不能通过它来修改数组或集合中的元素。如果需要修改元素,仍然需要使用传统的for循环或迭代器来完成。
附:定制自己的增强for循环
众所周知,增强for循环是按数组或者集合的内在顺序输出的,如果我们想在遍历的时候定制行为怎么做呢?下面就以一个逆序输出的例子说明怎么定制自己的增强for循环。
要想使用增强for循环,必须实现Iterable接口。
import java.util.Iterator; /** * 一个简单的逆序输出增强for循环 * @author * */ public class ReverIterableClass<T> implements Iterable<T> { protected T[] elements; public ReverIterableClass(T... elems) { this.elements=elems; //this.object=(T[])new Object[ts.length]; } public Iterator<T> iterator() { return new Iterator<T>(){ private int current=elements.length-1; public boolean hasNext() { return current>-1; } public T next() { return elements[current--]; } public void remove() { throw new UnsupportedOperationException("目前不支持删除操作"); } }; } public static void main(String[] args){ ReverIterableClass<String> iterableClass=new ReverIterableClass<String>("a","b","c","d"); for(String s:iterableClass){ System.out.println(s); } } }
在这个程序里我们定制了自己的输出行为--逆序输出,当然你也可以定义属于你自己的,只需要在next()函数里写处理代码即可。
总结
到此这篇关于Java中增强for循环代码示例的文章就介绍到这了,更多相关Java 增强for循环内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!