본문 바로가기
Kotlin

[코틀린] 배열

by Sky Titan 2020. 9. 26.
728x90

배열 생성

1. arrayOf()

  • arrayOf() 뒤에 배열 안에 들어갈 값들을 넣어서 선언한다.
  • 이 때 따로 제네릭으로 타입 명시를 해주지 않으면 여러가지 자료형들을 혼합할 수 있다.

fun main() {

    var arr = arrayOf(1, 0.2, "array")

    arr.forEach { println(it) }
    /* 결과
    1
    0.2
    array
     */
}

 

2. Array()

  • 배열의 사이즈와 초기화 값들을 람다식으로 넣어서 선언 가능하다.

fun main() {

    var arr = Array<Int>(3, {0}) //배열크기 : 3, 0으로 초기화
	var arr = IntArray(3) //위와 같음
    arr[1] = 1
    arr[2] = 2

    arr.forEach { println(it) }
    /* 결과
    0
    1
    2
     */
}

 

3. 다차원 배열 선언



fun main() {

    var arr = Array(3, {IntArray(3)}) //3x3
    var arr2 = arrayOf(arrayOf(0, 0, 0), arrayOf(0, 0, 0), arrayOf(0, 0, 0))//3x3 위와 같음
    arr[0][0] = 5

    println(arr.contentDeepToString())

    /* 결과
    [[5, 0, 0], [0, 0, 0], [0, 0, 0]]
     */
}

배열 요소에 접근하기

1. getter, setter 사용

  • Array 클래스는 내부적으로 getter와 setter가 선언되어있다.

fun main() {

    var arr = arrayOf(1, 2, 3)
    println(arr.get(0))
    println(arr.get(1))
    println(arr.get(2))

    /* 결과
    1
    2
    3
     */
}

 

2. 대괄호 사용


fun main() {

    var arr = arrayOf(1, 2, 3)
    println(arr[0])
    println(arr[1])
    println(arr[2])

    /* 결과
    1
    2
    3
     */
}

배열 다루기

1. 배열 출력

  • Arrays.toString(배열) : 1차원 배열 출력
  • Arrays.deepToString(배열) : 다차원 배열 출력
import java.util.*

fun main() {

    var arr = arrayOf(1, 2, 3)
    var arr2 = arrayOf(arrayOf(1, 2, 3), arrayOf(4, 5, 6))
    println(Arrays.toString(arr))
    println(Arrays.deepToString(arr2))//다차원 배열 출력

    /* 결과
    [1, 2, 3]
    [[1, 2, 3], [4, 5, 6]]
     */
}

 

2. 요소 추가

  • plus(추가 요소) : 요소를 새로 추가한 후 새로 생성된 배열을 반환한다.
import java.util.*

fun main() {

    var arr = arrayOf(1, 2, 3)

    arr = arr.plus(4)//4를 추가한 배열 새로 생성
    println(Arrays.toString(arr))


    /* 결과
    [1, 2, 3, 4]
     */
}

 

3. 요소 잘라내기

  • sliceArray(잘라낼 범위) : 범위 잘라낸 새 배열 생성
import java.util.*

fun main() {

    var arr = arrayOf(0, 1, 2, 3, 4, 5, 6, 7 )

    println(Arrays.toString(arr.sliceArray(3..6)))


    /* 결과
    [3, 4, 5, 6]
     */
}

 

728x90

'Kotlin' 카테고리의 다른 글

[코틀린] 비트 연산자  (0) 2020.09.28
[코틀린] 배열 정렬하기  (0) 2020.09.26
[코틀린][자바] 다차원 배열 비교, 출력  (0) 2020.09.24
[코틀린] forEach, forEachIndexed  (0) 2020.09.24
[코틀린] mapTo  (0) 2020.09.24

댓글