경제적 자유를 위해

열심히 살아보자

개발/Kotlin

[Kotlin CS] 코틀린 - Arrays

따식 2023. 11. 15. 23:33
728x90

Arrays는 언제 사용할까

Arrays는 low-level일때 사용하자.
Arrays는 크기가 고정되어있어 배열을 추가하는게 어렵다. 추가할때 새로운 배열을 생성하게된다.

var riversArray = arrayOf("Nile", "Amazon", "Yangtze")

riversArray += "Mississippi"
println(riversArray.joinToString())

Nile, Amazon, Yangtze, Mississippi

Arrays를 생성하는 방법

  • arrayOf(), arrayOfNulls(), emptyArray()
  • Array constructor으로
val array = arrayOf(1, 2, 3)
println(array.joinToString())
// 1, 2, 3

val nullArray: Array<Int?> = arrayOfNulls(3)
println(nullArray.joinToString())
// null, null, null

var exampleArray = emptyArray<String>()


val initArray = Array<Int>(3) { 0 }
println(initArray.joinToString())
// 0, 0, 0

val asc = Array(5) { i -> (i * i).toString() }
asc.forEach { print(it) }
// 014916

Arrays 중첩 방법

val arrays = Array(2) { Array<Int>(2) { 0 } }
println(arrays.contentDeepToString())
// [[0, 0], [0, 0]]


val arrays = Array(3) { Array(3) { Array<Int>(3) { 0 } } }
println(arrays.contentDeepToString())
// [[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]

Arrays를 값 가지고 오기 (Access and modify elements)

indexed로 가져오면 된다 [] operator 사용

val simpleArray = arrayOf(1, 2, 3)
val twoDArray = Array(2) { Array<Int>(2) { 0 } }

simpleArray[0] = 10
twoDArray[0][0] = 2

println(simpleArray[0].toString()) // 10
println(twoDArray[0][0].toString()) // 2

함수에 Array 인수 전달

fun main() {
    val array = arrayOf("c", "d")
    printAllStrings("a", "b", *array)
    // abcd
}

fun printAllStrings(vararg array: String) {
    for (string in array) {
        print(string)
    }
}

Array 비교 (Compare arrays)

val simpleArray = arrayOf(1, 2, 3)
val anotherArray = arrayOf(1, 2, 3)

println(simpleArray.contentEquals(anotherArray))
// true

simpleArray[0] = 10
println(simpleArray contentEquals anotherArray)
// false

Array 변환 (Transform arrays)

Sum

덧샘

val sumArray = arrayOf(1, 2, 3)

// Sums array elements
println(sumArray.sum())
// 6

Shuffle

 랜덤으로 나옴

val simpleArray = arrayOf(1, 2, 3)

simpleArray.shuffle()
println(simpleArray.joinToString())

simpleArray.shuffle()
println(simpleArray.joinToString())

Array를 Collections로 변환하기 (Convert arrays to collections)

val simpleArray = arrayOf("a", "b", "c", "c")

// Converts to a Set
println(simpleArray.toSet())
// [a, b, c]

// Converts to a List
println(simpleArray.toList())
// [a, b, c, c]

2023.11.12 - [개발/Kotlin] - [Kotlin CS] 코틀린 - Strings

728x90