개발/기타
[Kotlin] IntArray와 Array<Int>의 차이점
Patrick0422
2022. 11. 24. 14:51
IntArray는 컴파일시 int[] 형태로 변환되고, Array<Int>는 Integer[]로 변환됩니다.
위 글의 코멘트에 따르면 19년형 맥북 프로에서
val t = IntArray(10_000_000) { it } 와
val t = Array<Int>(10_000_000) { it } 의 속도는 각각 20ms vs 2.5sec로,
원시타입을 사용하는 IntArray가 성능 면에서 더 빠르다고 합니다.
val arr = IntArray(10)
println(arr.joinToString()) // 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
IntArray는 배열의 크기만을 파라미터로 받아 알아서 내부 요소들을 0으로 초기화 해주는 생성자가 존재하지만,
val arr = Array(10) { 0 }
val arr = arrayOfNulls<Int>(10) // Array<Int?>
Array<Int>는 내부 요소를 무조건적으로 채워주거나, Array<Int?> 형식으로 선언해 나중에 null을 처리해야 합니다.
https://stackoverflow.com/questions/45090808/intarray-vs-arrayint-in-kotlin