Kotlin

배열

공부처음하는사람 2023. 12. 22. 20:56

배열

배열의 인덱스

fun main() {
val numbers = arrayOf(1, 2, 3, 4, 5, 6, 7)
    print(numbers[0]) // 1의 index는 0.
    print(numbers[4]) // 5의 index는 4. 배열의 인덱스
}

.contentToString( )

    val numbers = arrayOf(1, 2, 3, 4, 5, 6, 7)
    val numbersD: DoubleArray = doubleArrayOf(1.0,2.0,3.0,4.0,5.0,6.0)
    print(numbers[0]) 
    print(numbers[4]) 

    print("initial values ${numbers.contentToString()}")
    numbers[0] = 9
    numbers[1] = 5
    numbers[3] = 2
    numbers[5] = 1
    print("\n final values ${numbers.contentToString()}")
  • array를 단순하게 print메서드로 출력하게 된다면 array의 주소로 저장된 위치가 출력된다.
  • print(변수.contentToString())은 내용을 스트링으로 변환 후 전송시키기 때문에 우리가 볼 수 있다.

요일로 배열해보기

val days = arrayOf("Sun", "Mon", "Tue", "Wed", "Thurs", "Fri", "Sat")
    println(days.contentToString())
  • 정수형태와 마찬가지로 Sun의 index는 [0]이다.

배열 안에 객체 저장하기

data class Fruit(val name: String, val price:Double) // main함수 바깥에 data class 생성

  val fruits = arrayOf(Fruit("Apple", 5.5), Fruit("Grape", 4.4))
    println(fruits.contentToString())

// 과일의 index 찾기
    for(fruit in fruits){
        print("${fruit.name}")
    }

    for(index in fruits.indices){
        print("${fruits[index].name} is in index $index")
    }

    } // 반대로 과일의 index를 알아내는 방법이다.
  • data class를 이용해서 배열에 객체를 저장했다.
  • for문을 사용해 객체의 index를 알아내는 방법도 존재한다.

다양한 데이터타입에 사용

val mix = arrayOf("Sun", "Mon", "Tue",1,2,3, Fruit("Apple", 4.3))
    println(mix.contentToString())
  • arrayOf는 이렇게 작성해도 모두 출력이 된다.

IntArray, DoubleArray등 어차피 arrayOf를 사용하면 추론이 되는데
왜 써야하는가??

  • 신속하게 처리할 수 있고, 예외를 추가해서 문제 해결도 가능하다.

'Kotlin' 카테고리의 다른 글

Set, Map  (0) 2023.12.22
리스트  (0) 2023.12.22
내일배움캠프 12.19 TIL  (1) 2023.12.22
내일배움캠프 12.18 TIL  (1) 2023.12.22
내일배움캠프 12.15 TIL  (2) 2023.12.22