배열과 컬렉션

CoCo·2021년 7월 15일
0

Kotlin

목록 보기
3/4
post-thumbnail

배열

  • 여러 개의 값을 담을 수 있는 대표적인 자료형
  • 값을 담기 전 배열의 개수를 할당 하거나 초기화 시 데이터를 저장하면 데이터 수 만큼 배열의 크기가 지정
  • 중간에 개수를 추가하거나 제거 불가능

배열 선언

var 변수 = Array(개수)

//Int, Long, Char 등과 같은 기본 타입 뒤에 Array를 붙여 만듬

var intArry = IntArray(10)			//int 형
var longArry = LongArray(10)			//long 형
var charArry = CharArray(10)			//char 형
var floatArry = FloatArray(10)			//float 형
var doubleArry = DoubleArray(10)		//double 형

문자 배열 생성

  • String은 기본형이 아니기 떄문에 StringArray가 존재하지 않음
var stringArry = Array(10, {item->""})
//10개의 index의 빈 문자열로 초기화

값으로 배열 초기화

arrayOf 함수 사용

var myfriends = arrayOf("철수","영희","영수","영순","민수")

배열에 값 입력하기

1. 배열명[인덱스] = 값
   myfriends[0] = "광희"

2. 배열명.set(인덱스, 값)
   myfriends.set(1,"희철")

배열의 값 꺼내기

1. 배열명[인덱스]
   var bestFriend = myfriends[2]	//bestFriend = 영수
   
2. 배열명.get(인덱스)
   var girlFriend = myfriends.get(3)	//girlFriend = 영순

컬렉션

  • 동적 배열이라고도 불린다
  • 배열과 다르게 처음 크기를 고정하지 않고 임의의 개수를 담을 수 있음
  • 크게 리스트(List), 셋(Set), 맵(Map) 이 존재한다.
  • 동적으로 사용하기 위해선 mutable 를 붙힌다

기본 컬렉션인 List, Map, Set 은 모두 한 번 입력된 값을 바꿀 수 없으므로 컬렉션의 용도인 동적 배열로 사용하기 위해선 mutable를 붙혀 사용한다.

리스트(List)

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

리스트 생성하기 : mutableListOf

var friendsList = mutableListOf("철수","영희","민희")

리스트에 값 추가하기 : add

friendsList.add("영순")		//friendsList = "철수","영희","민희","영순"

리스트에 값 사용하기 : get

friendsList.get(1)		//영희

리스트값 수정하기 : set

friendsList.set(0, "광희")	//friendsList = "광희","영희","민희","영순"

리스트값 제거하기 : removeAt

friendsList.removeAt(0)		//friendsList = "영희","민희","영순"

빈 리스트 생성

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

제너릭

  • 컬렉션이 사용하는 값의 타입을 지정하기 위한 도구 : <값의 타입>
  • 코틀린에서 컬렉션은 제너릭을 사용하지 않으면 생성 불가능
  • 단, 초기화할 떄는 값으로 타입을 추론하기 때문에 생략 가능

컬렉션 개수 가져오기 : size

mutableList.size

셋(Set)

  • 중복을 허용하지 않는 리스트
  • 인덱스 활용 불가능

셋 선언하기 : mutableSetOf

var set = mutableSetOf<String>()

셋에 값 입력하기 : add

set.add("철수")
set.add("민희")
set.add("철수")			//철수가 이미 입력되어 있기 때문에 입력 불가능

셋의 값 삭제하기 : remove

set.remove("철수")

맵(Map)

  • 키(key)와 값(value)의 쌍으로 입력되는 컬렉션
  • 제네릭으로 키와 값의 데이터 타입을 지정해 맵을 생성

맵 선언하기 : mutableMapOf

var map = mutableMapOf<String, String>()

맵 키 추가 or 수정 하기 : put

map.put("키","값")

맵 삭제하기 : remove

map.remove("키")

이뮤터블 컬렉션

  • 일반 배열처럼 크기를 변경할 수 없으며 값 또한 변경할 수 없다.
  • 한 번 입력된 값을 변경할 수 없기 때문에 add, set 함수는 지원하지 않음
  • 수정, 추가, 제거 모두 불가능
  • 변수명은 대문자로 지정
val IMMUTABLE_LIST = listOf("철수","영희","민희")

Reference

이것이 안드로이드다 with 코틀린

profile
한 걸음 씩 성장해 나아가고자 노력하는 주니어 개발자입니다.

0개의 댓글