Android

[Kotlin] foreach 반복문

내가갈게하와이 2022. 12. 7. 10:40

forEach ( ) 함수는 단순히 컬렉션 타입의 데이터 개수만큼 특정 구문을 반복 실행할때 유용하게 사용된다.

 

for문과 다르게 foreach문 사용 할 때에는 continue문과 break문을 사용할 수 없다.

 

개발을 하다가 foreach문을 빠져나가야하는 경우가 있어서 return을 사용하였지만 빠져나가지 않고 계속 반복이 진행되었다.

 

val array = arrayListof(1,2,3,4)

array.forEach{
	printLn(it)
    if(it == 2){
    	return@forEach
    }
}

위와 같은 방식으로 하게 되면 반복문을 빠져 나가는게 아니라 continue문과 동일한 기능을 하게 된다.

내가 원하는 1,2 를 출력하고 반복이 끝나지 않고 1,2,3,4 출력을 하게 된다는 것이다.

 

내가 원하는 break문을 사용하려면 범위지정 함수 중 run을 사용하면 가능하게 된다.

 

val array = arrayListof(1,2,3,4)

run { 
	array.forEach{
		printLn(it)
    	if(it == 2){
    		return@run
   	 	}	
	}
}

위와 같은 방식으로 해야 내가 원하는 break문이 된다. 실제 개발에서 종종 실수 하는 부분이니깐 기억해 두자