>  기사  >  Java  >  각각에 대한 Java 향상된 for 루프에 대한 간략한 토론

각각에 대한 Java 향상된 for 루프에 대한 간략한 토론

高洛峰
高洛峰원래의
2017-01-21 16:47:211171검색

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 중국어 웹사이트에 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.