Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

운기의 블로그

코틀린 - Collection 본문

코틀린

코틀린 - Collection

운띠야 2022. 3. 24. 04:33

코틀린 collection은 자바와 동일하게 list, set, map 이 존재한다.

하지만 코틀린의 collection은 자바와 다른점이 있는데 읽기전용인터페이스와 쓰기가 가능한 인터페이스 두개로 나누어진다는 점입니다. 

 

우선 코틀린 공식 홈페이지에서 가이드하고 있는 내용을 먼저보자

 

 

읽고 쓰기가 가능한(가변형) MutableCollection인 MutableList, MutableSet, MutableMap

읽기만 가능한(불변형) List, Set, Map으로 구성되어있다. 

-> 제가 생각한 두개의 차이점은 동적으로 메모리에 할당이 가능한가에 대한 여부이다. 가변형인 경우는 동적으로 데이터를 추가하고 삭제하고 가능하지만, 불변형의 경우에는 초기값을 할당해 주고 데이터를 변경 할 수 없다.

 

어떠한 이유로 나눠서 사용하는지에 대한 내용은 다음 포스팅에서 남기도록하고

먼저 사용방법에 대해서 알아보도록하자.

 

간단한 랜덤함수를 사용해 6개의 추첨번호를 뽑는 로직이다.

중복을 제거하고 6개의 숫자를 담기 위해서 set을 사용했고 랜덤으로 나오는 숫자를 동적으로 담기 위해 

mutableSet을 사용했다. 

 

다른 방법은 arrayList를 사용하는것이다.

arrayList는 mutableList를 상속받았기 때문에 동적으로 숫자를 추가 할 수 있는것이다.

 

만약에 가변형이 아닌 불변형인 ListOf를 쓴다면 초기화가 이뤄지지 않은 상태이기때문에 

에러가 발생한다. 그렇기에 아래 구문은 실행되지않는다.