List, Set, Map : 컬렉션 타입 클래스, Collection 인터페이스를 타입으로 표현한 클래스.
- List : 순서가 있는 데이터 집합, 데이터의 중복 허용 함.
- Set : 순서가 없는 데이터 집합, 데이터의 중복 허용하지 않음.
- Map : 키와 값으로 이루어진 데이터 집합, 순서가 없음, 키의 중복을 허용하지 않음.
컬렉션 타입의 분류
- 가변(mutable) 클래스 : 초깃값을 대입한 이후에도 데이터를 추가, 변경 가능한 것.
- 불변(immutable) 클래스 : 초깃값을 대입한 후에 추가, 변경이 불가능한 것.
구분 | 타입 | 함수 | 특징 |
List | List | listOf() | 불변 |
MutableList | mutableListOf() | 가변 | |
Set | Set | setOf() | 불변 |
MutableSet | mutableSetOf() | 가변 | |
Map | Map | mapOf() | 불변 |
mutableMap | mutableMapOf() | 가변 |
불변 타입( (list/set/map)Of( ) )의 제공 함수 : size(), get()
가변 타입( mutable(List/Set/Map)Of( ) )의 제공 함수 : size(), get(), 리스트 : add(), 맵 : put( ), set()
리스트 : List
1. 리스트 선언 : listOf()
var 변수명 = listOf<타입>(값)
예시
fun main(){
var list = listOf<Int>(10,20)
println("list size : ${list.size}\nlist data : ${list[0]}, ${list.get(1)}")
}
실행화면
→List 객체의 데이터에 접근하는 방법 : 배열과 마찬가지로 대괄호( [ ] )를 이용하거나, get( )함수를 이용한다.
2. 리스트 선언 : mutableListOf()
var 변수명 = mutableListOf<타입>(값)
예시
fun main(){
var mutableList = mutableListOf<String>("리스트","선언!")
println("list size : ${mutableList.size}\nlist data : ${mutableList[0]}, ${mutableList.get(1)}")
mutableList.add(2,"추가")
println("list size : ${mutableList.size}\nlist data : ${mutableList[0]}, ${mutableList.get(1)}, ${mutableList.get(2)}")
mutableList.set(1,"변경")
println("list size : ${mutableList.size}\nlist data : ${mutableList[0]}, ${mutableList.get(1)}, ${mutableList.get(2)}")
}
실행화면
→ 리스트에 값을 추가하는 방법 : list.add(순서, 값)
→ 리스트에 있는 값을 변경하는 방법 : list.set(순서, 값)
맵 : Map
Map 객체 : 키와 값으로 이루어진 데이터의 집합
하나의 map에서 모든 key는 같은 타입이어야 한며 모든 value는 같은 타입이어야 한다. key와 value는 같은 타입이어야 할 필요는 없다.
map 선언
1. pair객체 이용
var 변수명 = mapOf<키 타입, 값 타입>(Pair("키 값" , "값의 값"))
2. '키 to 값' 형태
var 변수명 = mapOf<키 타입, 값 타입>("키 값" to "값의 값")
예시
fun main(){
var map = mutableMapOf<String, String>(Pair("키","값"), "key" to "value") //수정가능한 Map
println("map size : ${map.size}\nmap data : ${map["키"]}, ${map.get("key")}")
map.set("키","값 수정됨") //map 수정
println("map size : ${map.size}\nmap data : ${map["키"]}, ${map.get("key")}")
map.put("3","삼") //map에 값 추가
println("map size : ${map.size}\nmap data : ${map["키"]}, ${map.get("key")}, ${map.get("3")}")
}
실행화면
→Map 객체의 데이터에 접근하는 방법 : 리스트와 마찬가지로 대괄호( [ ] )를 이용하거나, get( )함수를 이용한다. 다만 괄호와 함수안에 key를 넣는다.
→ 맵에 값을 추가하는 방법 : map.add("키", "값")
→ 맵에 있는 값을 변경하는 방법 : map.set("키", "값")
→ 맵에 있는 값을 삭제하는 방법 : map.remove("키")
'대학 > 안드로이드(코틀린) 정리' 카테고리의 다른 글
안드로이드 조건문 if - else ( 코틀린 ) (0) | 2022.10.23 |
---|---|
안드로이드 컬렉션 타입 / Array ( 코틀린 ) (0) | 2022.10.22 |
안드로이드 함수 선언 ( 코틀린 ) (0) | 2022.10.21 |
안드로이드 데이터 타입( 코틀린 ) (0) | 2022.10.21 |
안드로이드 변수 선언하기( 코틀린 ) (0) | 2022.10.21 |