반응형
Enhanced For Loop
JDK 5에서 추가된 기능으로 기존 for loop 보다 간결하게 순회가능.
//for-loop
for(int i = 0; i<5; i++){
//...
}
//Enhanced For-loop
List<String> strings = new ArrayList<>();
for(String item: strings){
//...
}
Enhanced For Loop 특징
항상 인덱스는 1씩 증가함.
순회 중 내부요소 변경 불가.
Enhanced For Loop 장점
반복 순회 코드 작성시 일반적인 for loop보다 코드가 간결하고 짧다.
순회하는 데이터의 이름을 통해 명활히 어떤 데이터를 사용하는지 알아볼 수 있다.
Enhanced For Loop 단점
순회의 시작점과 끝을 지정할 수 없다.
순회 요소의 변경이나 삭제는 불가하다.
인덱스 크기 변경 불가하다.
이 모든 단점은 내부적으로 iterator(반복자)를 사용하기 때문이다.
즉, 원소의 값에 변경을 주지 않는 경우에만 사용가능 함.
For loop / Enhanced For loop 차이로 쉽게 이해하기
code) List
public class EnhancedFor {
public static void main(String [] args){
List<String> list = new ArrayList<>();
list.add("abc");
list.add("bef");
// for-loop
for(int i=0; i<list.size(); i++){
System.out.println(list.get(i));
}
System.out.println("===============");
//Enhanced-for-loop
for(String item: list){
System.out.println(item);
}
}
}
code) Array
public class EnhancedFor {
public static void main(String [] args){
int[] array = {1,2,3,4,5};
// for-loop
for(int i=0; i<array.length; i++){
System.out.println(array[i]);
}
System.out.println("===============");
//Enhanced-for-loop
for(int item: array){
System.out.println(item);
}
}
}
반응형
'Back-end > JAVA,Spring' 카테고리의 다른 글
[java spring] 스프링프레임워크 <form:form> 태그 사용법 (0) | 2019.05.30 |
---|---|
[스프링]자바에서 설정파일(xml , properties.. ) 읽어들이기. (0) | 2019.05.30 |
[java spring] ModelAndView 모델앤뷰 / ViewResolver뷰리졸버 란 ? (0) | 2019.04.14 |
[Spring Boot] 스프링 부트 MVC 기본 환경설정 (0) | 2019.03.17 |
[JSP]내장객체 - request /response/ session 객체 (1) | 2019.01.08 |