티스토리 뷰

Kotlin

코틀린 반복문 Kotlin Iterators

IT Knowledge Share 2021. 7. 6. 19:11
반응형

코틀린에서 가장 중요한 부분인 반복문을 알아봅니다.

 

반복문의 전제 조건은 개체가 반복할 수 있는 개체여야 합니다.

 

변수 a에 반복 가능한 개체를 할당해봅니다.

val a = mutableListOf<Int>(1, 2, 3, 4, 5, 6, 7, 8, 9)

a를 활용해서 코틀린 내에서는 반복문을 어떻게 사용하는지 알아봅니다.

 

1. for문

 

가장 자주 사용되는 for문으로 a를 반복시킬 수 있습니다.

for문 안에 if문 등을 추가하여 조건까지 설정 가능합니다.

 

예문을 보도록 합니다.

   for (item in a){
        println(item)
        
        if (item == 5){
            println("item is Five")
        } else {
            println("item is not Five")
        }
    }
반응형

출력값

1
item is not Five
2
item is not Five
3
item is not Five
4
item is not Five
5
item is Five
6
item is not Five
7
item is not Five
8
item is not Five
9
item is not Five

for문을 먼저 살펴보면, 1~9까지 저장된 변수 a에서 순서대로 값을 꺼내어 item에 넣어주는 형식입니다.

먼저, item을 출력한 후 if 조건에 따라 item이 5인 경우와 5가 아닌 경우를 출력하는 형식입니다.

 

 

2. for문 (인덱스와 값을 모두 출력)

 

for문을 사용하여 값뿐만 아니라 인덱스까지 모두 출력해봅니다.

이 때 사용되는 메소드는 withIndex( ) 입니다.

 

아래 예문을 봅니다.

    for ((index, item) in a.withIndex()){
        println("index: " + index + " value: " + item)
    }

출력값

index: 0 value: 1
index: 1 value: 2
index: 2 value: 3
index: 3 value: 4
index: 4 value: 5
index: 5 value: 6
index: 6 value: 7
index: 7 value: 8
index: 8 value: 9

for문으로 인덱스와 값을 모두 출력하려면, 소괄호 안의 첫 번째 인자에 index가 들어갈 명칭을 정하고, 두 번째 인자에는 값이 들어갈 명칭을 정합니다. 예문에서는 각각 index, item으로 설정되어 있습니다.

이 후 a에 값과 인덱스를 모두 꺼내야 하므로, withIndex( ) 메소드를 사용해야 합니다.

출력 결과, 인덱스 번호에 따라 값이 함께 나오는 것을 알 수 있습니다.

 

3. forEach

 

forEach를 사용하여 값을 반복적으로 출력해봅니다.

a.forEach {
        println(it)
}

forEach를 사용하면, 자동적으로 it라는 명칭에 a의 값 1~9가 들어가게 됩니다.

 

물론, it은 디폴트로 설정되는 명칭이며, 다른 이름으로도 설정이 가능합니다. 아래처럼 말이죠.

a.forEach {item ->
        println(item)
}

it이 아닌 원하는 명칭으로 설정하는 경우, 명칭 뒤에 ->(Arrow)를 넣어주셔야 합니다.

 

출력값

1
2
3
4
5
6
7
8
9

출력값은 모두 동일합니다.

 

 

4. forEachIndexed

 

forEach를 사용할 때, 인덱스와 값을 모두 출력하는 경우입니다.

 

다음 예문을 봅니다.

a.forEachIndexed{index, item->
        println("index: " + index + " value: " + item)
}

forEachIndexed를 사용하면, 두 가지 인자에 명칭을 넣게 되는데, index와 item으로 설정한 경우입니다. 이 경우 디폴트로 정해지는 명칭은 없습니다.

 

출력값

index: 0 value: 1
index: 1 value: 2
index: 2 value: 3
index: 3 value: 4
index: 4 value: 5
index: 5 value: 6
index: 6 value: 7
index: 7 value: 8
index: 8 value: 9

 

반응형

'Kotlin' 카테고리의 다른 글

코틀린 클래스 Kotlin Class  (0) 2021.07.06
코틀린 반복문 2편 Kotlin Iterators  (0) 2021.07.06
코틀린 컬렉션 Kotlin Collections  (0) 2021.07.06
코틀린 배열 Kotlin Array  (0) 2021.07.06
is, in 연산자  (0) 2021.07.06
댓글