Programming Language/Kotlin / / 2025. 3. 5. 14:43

for문 활용 방식

 

1. 기본 사용법

 

  • 범위 반복:
      for (i in 1..5) { // 1부터 5까지 반복
          println(i)
      }
    • 1..5는 1부터 5까지의 범위를 나타냅니다.

 

  • 컬렉션 반복:
      val fruits = listOf("apple", "banana", "cherry")
      for (fruit in fruits) {
          println(fruit)
      }
    • 컬렉션의 각 요소를 순회합니다.

 

2. 다양한 범위 표현

 

  • until:
      for (i in 1 until 5) { // 1부터 4까지 반복 (5 제외)
          println(i)
      }
    • until은 지정된 값 바로 이전까지의 범위를 생성합니다.

 

  • downTo:
      for (i in 5 downTo 1) { // 5부터 1까지 감소하며 반복
          println(i)
      }
    • downTo는 값을 감소시키며 범위를 생성합니다.

 

  • step:
      for (i in 1..10 step 2) { // 1부터 10까지 2씩 증가하며 반복
          println(i)
      }
    • step은 지정된 값만큼 증가 또는 감소하며 범위를 생성합니다.

 

3. 인덱스와 함께 반복

 

  • withIndex():
      val fruits = listOf("apple", "banana", "cherry")
      for ((index, fruit) in fruits.withIndex()) {
          println("Index: $index, Fruit: $fruit")
      }
    • withIndex()는 인덱스와 값을 함께 제공합니다.

 

4. forEach와 람다 표현식

 

  • forEach 함수는 람다 표현식과 함께 사용하여 컬렉션의 각 요소에 대한 작업을 수행할 수 있습니다.
      val numbers = listOf(1, 2, 3, 4, 5)
      numbers.forEach { number ->
          println(number * 2)
      }
    • 이 방식은 특히 간단한 연산이나 로직을 각 요소에 적용할 때 유용합니다.

 

  • 인덱스를 활용한 forEachIndexed
      val numbers = listOf(1, 2, 3, 4, 5)
      numbers.forEachIndexed { index, number ->
          println("index : $index number : $number")
      }

 

5. for 루프의 활용 예시

 

  • 배열 순회 및 값 변경:
      val array = intArrayOf(1, 2, 3, 4, 5)
      for (i in array.indices) { // 배열의 인덱스 범위 순회
          array[i] *= 2
      }
      println(array.contentToString()) // [2, 4, 6, 8, 10] 출력
  • 맵(Map) 순회:
      val map = mapOf("a" to 1, "b" to 2, "c" to 3)
      for ((key, value) in map) {
          println("Key: $key, Value: $value")
      }
  • 중첩 루프:
      for (i in 1..3) {
          for (j in 1..3) {
              println("i: $i, j: $j")
          }
      }

 

6. 라벨을 통한 break와 continue

 

  • 중첩 루프에서 특정 루프를 빠져나오거나 건너뛰기 위해 라벨을 사용할 수 있습니다. 
  • loop@ for (i in 1..5) { for (j in 1..5) { if (i == 3 && j == 3) break@loop // 바깥쪽 루프 종료 println("i: $i, j: $j") } }

 

7. 컬렉션의 인덱스 순회.

 

  • 배열이나 리스트의 index값을 활용하여 순회.
          val list = listOf("a","b","c")
          for (i in list.indices){
              println("index : $i , value : ${list[i]}")
          }

코틀린의 for 루프는 이러한 다양한 기능을 제공하며, 이러한 기능들을 통해 더욱 효율적이고 가독성 높은 코드를 작성할 수 있습니다.

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유