For-Each 루프
For-Each 루프는 향상된 for 루프 또는 foreach 루프라고도 합니다.
For-Each 루프는 JDK5.0의 새로운 기능입니다(제네릭, 오토박싱 등과 같은 기타 새로운 기능).
For-Each 루프를 추가하면 컬렉션 순회가 단순화됩니다.
구문은 다음과 같습니다.
for(type element: array) { System.out.println(element); }
예
기본 사용법은 코드를 직접 보면 됩니다.
코드는 먼저 두 개의 A for 루프를 비교한 다음 향상된 for 루프를 구현하여 2차원 배열을 탐색하고 마지막으로 세 가지 메서드를 사용하여 List 컬렉션을 탐색합니다.
import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ForeachTest { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5}; System.out.println("----------旧方式遍历------------"); //旧式方式 for(int i=0; i<arr.length; i++) { System.out.println(arr[i]); } System.out.println("---------新方式遍历-------------"); //新式写法,增强的for循环 for(int element:arr) { System.out.println(element); } System.out.println("---------遍历二维数组-------------"); //遍历二维数组 int[][] arr2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}} ; for(int[] row : arr2) { for(int element : row) { System.out.println(element); } } //以三种方式遍历集合List List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); System.out.println("----------方式1-----------"); //第一种方式,普通for循环 for(int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } System.out.println("----------方式2-----------"); //第二种方式,使用迭代器 for(Iterator<String> iter = list.iterator(); iter.hasNext();) { System.out.println(iter.next()); } System.out.println("----------方式3-----------"); //第三种方式,使用增强型的for循环 for(String str: list) { System.out.println(str); } } }
For-Each 루프의 단점: 인덱스 정보가 손실됩니다.
컬렉션이나 배열을 반복할 때 컬렉션이나 배열의 첨자에 액세스해야 하는 경우 향상된 for 루프를 사용하는 대신 루프나 순회를 구현하는 기존 방식을 사용하는 것이 좋습니다 왜냐하면 아래 첨자 정보가 손실되기 때문입니다.
위 내용은 편집자가 제공한 Java Enhanced for 루프의 전체 내용입니다. PHP 중국어 사이트를 지원해 주시길 바랍니다~
더보기 각 관련 기사에 대한 Java의 향상된 for 루프에 대한 자세한 내용은 PHP 중국어 웹사이트에 주목하세요!