스마트웹앱콘텐츠전문가/JAVA

for-each문

9D4U 2020. 5. 19. 16:39
728x90
반응형

List values = Arrays.asList("a", "b", "c");

int index= 0;

for(String value : values){

  System.out.println("index : " + index++);

  System.out.println("value : " + value);

}

 

- JDK 5.0 이상

- 인덱스를 별도로 명시하지 않아도, 리스트 사이즈 만큼 반복되어 수행 -> 리스트 순회용도로 적합.

- 코드 상 간결하지만, 인덱스를 사용할 수 없어서, 별도로 만들어 주어야 함.

- List 타입의 객체를 대상으로만 사용 가능( get(int index) 메소드를 가지는)

- 상위 타입인 Collection 또는 Set 타입의 객체를 사용 불가.

 

cf) Iterator와 비교

ex) for(Iterator itr = values.iterator(); itr.hasNext();){ System.out.println(itr.next()); }

 

cf) JAVA8 이상 사용 시 stream API의 forEach() 메서드와 비교

ex) values.stream().forEach(System.out::println);

728x90