/*
강의 1-19. 코틀린 컬렉션
여러 데이터를 효율적으로 관리하기 위해 자료구조에 나오는 다양한 기법들을 클래스로 만들어 제공.
자바와 다르게 컬렉션의 종류를 단순화 시켰다.
1. List
-순서를 갖고 객체를 관리하는 컬렉션
-크기를 관리하지않고 계속 객체를 추가할 수 있다.
-생성 시 관리할 객체를 정해줘야 하며 생성이후에는 관리하는 객체를 가져다 쓰는 것만 가능하고 추가, 삭제 등의 수정 작업은 불가능하다.
- 배열 쓰듯이 사용하면 된다.
- get, indexOf(값), subList
2. MutableList
-List를 상속하고 있으며 수정 작업이 가능하다.
3. Set
- 중복되지 않게 객체를 관리하는 컬렉션
- 자체적으로 객체를 가져오진 못하여 Iterator 라는 컬렉션을 이용해야 한다. -> Iterator 은 인덱스 없이 0부터 쭉 간다.
setOf, mutableSetOf : Set을 생성한다.
iterator : Iterator로 만들어 반환한다.
add : 객체를 추가한다.
remove : 객체를 제거한다.
4. Map
- 이름을 통해 객체를 관리하는 컬렉션.
mapOf, mutableMapOf : Map 을 생성한다.
put : map 을 객체에 추가한다.
get : map 에서 객체를 가져온다.
set : map 에 기존 객체를 덮어 씌운다.
remove : map 에서 객체를 제거한다.
*/
fun main(args : Array<String>)
{
var list1 = listOf(10,20,30,40);
println(list1);
var list2 = list1.subList(0, 3);
println(list2);
var list3 = mutableListOf<Int>();
var list4 = mutableListOf(10, 20, 30, 40);
list3.add(10);
list3.add(20);
list3.add(1, 100);
println(list3);
println(list4);
list3.removeAt(1);
list3.set(1,200);
list3.clear();
var set1 = setOf(10, 20, 30, 10, 20, 30);
println(set1);
var itor1 = set1.iterator();
while(itor1.hasNext())
{
var a1 = itor1.next();
println(a1);
}
var set2 = mutableSetOf<Int>();
var set3 = mutableSetOf(10, 20, 30, 10, 20, 30);
set2.add(10);
set2.add(20);
set2.remove(10);
set2.remove(20);
var map1 = mapOf("key1" to 100, "key2" to 1.11, "key3" to "아악")
println(map1);
var a100 = map1.get("key1");
var a200 = map1.get("key2");
var a300 = map1.get("key3");
println(a100);
println(a200);
println(a300);
var map2 = mutableMapOf<String, Any?>() // ?을 하면 null을 포함한 어떠한 값도 넣을 수 있다.
map2.put("key1", 100);
map2.put("key2", "오옥");
map2.set("key1", 300);
map2.remove("key1");
}
'Deperecated > Kotlin' 카테고리의 다른 글
코틀린 프로젝트 구성 (0) | 2020.04.07 |
---|---|
코틀린 - 상수 (0) | 2020.02.18 |
코틀린 - 배열 (0) | 2020.02.05 |
코틀린 - 오브젝트 (0) | 2020.02.05 |
코틀린 - 열거형 (0) | 2020.02.05 |