본문 바로가기
  • Sunnny-Dev
개발/안드로이드 스튜디오

[안드로이드 코틀린] 코틀린 문법 - 배열과 컬렉션

by sunny- 2021. 10. 4.

배열

값을 담기 전에 배열 공간의 개수를 할당하거나 초기화 시에 데이터를 저장해두면 데이터의 개수만큼 배열의 크기가 결정 -> 이후에 개수를 추가하거나 제거할 수 없음.

var 변수 = Array(개수)

** 문자 배열에 빈 공간 할당하기

var stringArray =Arrat(10,{item->""})

괄호 안의 첫번째 숫자인 10만 변경해 사용하면 그 숫자만큼 빈 문자열로 된 배열 공간을 할당.

 

값으로 배열 공간 할당하기

arrayOf함수를 사용해서 String 값을 직접 할당 할 수 있음

var dayArray =arrayOf("MON","TUE","~~~)

배열에 값 입력하기

배열의 인덱스에 있는 값을 바꾸는 방법

배열병[인덱스]=값
배열명.set(인덱스, 값)

두가지가 같은 것을 의미함.

 

배열에 값 꺼내기

배열병[인덱스]
배열명.get(인덱스)

 

컬렉션

동적배열을 의미. 배열과 다르게 공간의 크기를 처음 크기로 고정하지 않고, 임의의 개수를 담을 수 있다.

리스트, 맵,셋이 있다.

리스트(mutableList)

저장되는 데이터에 인덱스를 부여한 컬렉션, 중복된 값을 입력할 수 있다. 

리스트 생성: mutableListOf

var list = mutableListOf("MON"."TUE","WEN")

리스트에 값 추가: add

-인덱스를 지정하지 않아도 입력된 순으로 인덱스가 지정됨.

리스트의 값 사용: get(인덱스)

리스트의 값 수정:set(인덱스, "수정할 값")

리스트의 값 제거: removeAt(인덱스)

 

빈 리스트 사용

var 변수명=mutableListOf<컬렉션에 입력될 값의 타입>()
var strintList=mutableListOf<String>()

셋(set)

셋은 중복을 허용하지 않음. 

var set = mutableSetOf<String>() //string타입의 값을 입력받을 수 있움

셋에 값 추가하기: add

셋 사용하기: 셋은 인덱스가 없어서 특정 위치에 있는 값을 직접 사용할 수 없음

Log.d("Collection","Set 전체 츨력 = ${set}")

셋 삭제하기: 값을로 직접 조회해 삭제 가능

set.remove("FEB")

 

 

댓글