베열을 크기가 정해지면 변경할 수 없지만, LIst는 추가, 삭제 등이 가능
listOf
불변형 리스트 생성
mutableListOf
가변형 리스트 생성 ()
emptyList
비어있는 불변형 리스트를 생성
listOfNotNull
null을 제외한 나머지만으로 리스트를 생성
👀 불변형&가변형
불변형에 비해 메모리 많이 잡아 먹음, 속도 좀 느림
불변형 컬렉션 객체 사용 추천
val list1 = listOf(10, 20, 30, 40, 50)
val list2 = listOf("str1", "str2", "str3", "str4")
println("list1 : ${list1}") //list1 : [10, 20, 30, 40, 50]
println("list2 : ${list2}") //list2 : [str1, str2, str3, str4]
👀 제네릭
객체 생성할 때 데이터 지정해주지 않으면
→ 제네릭 명시 필수val lsit1 = listOf<Int>()
데이터 지정해주면 제네릭 생략 가능
→ 알아서 자료형 추론
val list3 = mutableListOf<Int>()
val list4 = mutableListOf("str1", "str2", "str3")
println("list3 : ${list3}") //list3 : []
println("lsit4 : ${list4}") //lsit4 : [str1, str2, str3]
👀 mutableListOf
나중에 값을 추가 가능
-> 아무것도 가지고 있지 않는 리스트를 만드는 경우도 굉장히 많음
val list5 = emptyList<String>() //비어져 있는 불변형 -> 무의미!!!
val list6 = listOfNotNull(10, 20, 30, null, 40, null)
println("list6 : ${list6}") //list6 : [10, 20, 30, 40]
👀 null
그냥 리스트 → null포함
listOfNotNull → null빼고 리스트 만듬
for (item in list1)
{
println("list1 for : $item")
}
//list1 for : 10
//list1 for : 20
//list1 for : 30
//list1 for : 40
//list1 for : 50