좌충우돌 코딩

코틀린 - 배열(Array) 본문

코틀린/순수 코틀린

코틀린 - 배열(Array)

Tracoding 2023. 3. 21. 21:25
var intArray = IntArray(3) 	  // 3개의 공간을 int형으로 만듬
var longArray = LongArray(5) 	  // 5개의 공간을 long형으로 만듬
var charArray = CharArray(2)	  // 2개의 공간을 char형으로 만듬
var floatArray = FloatArray(1) 	  // 1개의 공간을 float형으로 만듬
var doubleArray = DoubleArray(4)  // 4개의 공간을 double형으로 만듬

초기화 없이 선언만 할 경우 위와 같이 사용할 수 있습니다.

참고형 자료인 String은 초기화 없이 선언을 할 수 없다.

 

var intArray1: Array<Int> = Array(3, {number -> 5})  // 초기화하면서 제너럴로 타입 지정
var intArray2 = arrayOf(10, 15, 20, 30)  // 타입 생략
var dayArray = arrayOf("월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일")

선언과 동시에 초기화를 할 경우 타입을 안 넣어도 됩니다.

Array를 사용해서 동일한 값을 모든 공간에 한번에 할당할 수 있고 arrayOf를 이용해서 일일이 값을 할당할 수 있습니다.

 

var number = IntArray(2)	//2개의 공간을 int형으로 선언 

number[0] = 10		// number 첫번째 공간에 10 할당
number.set(1, 50)	// number 두번째 공간에 50 할당

배열을 선언하고 각각 인덱스를 통해서 값을 할당할 수 있습니다.

number라는 배열은 2개의 공간을 갖고 인덱스 0에는 10, 인덱스 1에는 50이라는 값이 들어있습니다.

 

var number = IntArray(2)

number[0] = 10
number.set(1, 50)

number[2] = 98

number라는 배열은 2개의 공간만 있지만 3개의 공간을 넣고 싶어서 number[2]라는 3번째 공간에 값을 넣기로 했습니다.

하지만 선언은 var number = IntArray(2), 이처럼 2개의 공간만 선언한 상태이죠.

그럼 저절로 3개의 공간이 만들어지고 98이라는 값이 들어갈까요??

java.lang.ArrayIndexOutOfBoundsException

위와 같은 에러가 발생합니다.

인덱스의 범위를 넘었다라는 에러죠.

그러니 배열 공간의 크기는 선언으로만 변경할 수 있다는 것이죠.

 

var dayArray = arrayOf("월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일")
var saturday = dayArray[5]	// "토요일" 값을 saturday변수에 할당

Log.d("배열값", "${dayArray.get(4)} 뒤엔 ${saturday}이 옵니다!!")   // 금요일 뒤엔 토요일이 옵니다!!

할당한 배열을 불러오는 방법은 2가지가 있습니다.

직접적으로 인덱스를 부르는 방법과 get으로 인덱스를 부르는 방법이죠.

 

 

그럼 이만~

'코틀린 > 순수 코틀린' 카테고리의 다른 글

코틀린 - 함수(funcation)  (0) 2023.03.23
코틀린 - 반복문(for, while)  (0) 2023.03.22
코틀린 - 컬렉션(Collection)  (0) 2023.03.21
코틀린 - when문 설명  (0) 2023.03.21
코틀린 - 상수 val과 const val의 차이  (0) 2023.03.21
Comments