Set

0

코틀린

목록 보기
5/11

Set 공부하기.
Set의 기능
코틀린의 Set역시 mutable 과 immutable로 나뉘어져있다.
Set은 List와 달리 중복을 허용하지 않고 순차적이지 않은 배열(Array)이다.

Immutable : SetOf()로 생성이 가능하다.

Set은 한가지컬렉션에 double,float,string,int등 같이 포함할수있다.

    val mixedTypesSet = setOf("Hello", 5, "World", 3.14, 'c')
    val intSet: Set<Int> = setOf(1,5,5)

    println(mixedTypesSet)  //  [Hello, 5, World, 3.14, c]
    println(intSet) //  [1, 5]

Mutable : mutableSetOf()로 생성이 가능하다.

    val animals = mutableSetOf("Lion","Dog","Cat","Python","Hippo")
    println(animals)    //  [Lion, Dog, Cat, Python, Hippo]

    animals.add("Bird")
    println(animals)    //  [Lion, Dog, Cat, Python, Hippo, Bird]

    animals.remove("Python")
    println(animals)    //  [Lion, Dog, Cat, Hippo, Bird]

mutableSetOf()로 생성시 추가나 삭제하고싶을때.
해당하는셋이름.add("추가")
해당하는셋이름.remove("삭제")

MutableSet에 해당되는 set의 종류들.

mutableSetOf,hashSetOf,linkedSetOf,sortedSetOf등의 함수가 있다.
ex)) val set2: HashSet = hashSetOf(3,3,1,2)

hashset()

해시 테이블이란 내부적으로 키와 인덱스를 이용해 검색과 변경 등을 매우 빠르게 처리할 수 있는 자료구조입니다.
정렬을 해주지는 않고 중복만 걸러준다.

HashSet는 가변성이기 때문에 추가 및 삭제 등의 기능을 수행할 수 있습니다.

sortedSetOf()

자바의 TreeSet 컬렉션을 정렬된 상태로 반환합니다. TreeSet는 저장된 데이터의 값에 따라 정렬되는데, 일종의 개선된 이진 탐색 트리인 레드 블랙 트리 알고리즘을 사용해 자료구조를 구성합니다.
자동으로 오름차순 정렬을 해준다.

SortedSetOf()는 TreeSet을 이용하여 만들고 원소들이 정렬되어 있는 Set이다.

검색과 정렬이 뛰어나다는 장점과 HashSet보다 성능이 좀 떨어지고 데이터를 추가하거나 삭제하는 데 시간이 걸립니다.

    val insSortedSet: TreeSet<Int> = sortedSetOf(4,1,7,2)
    insSortedSet.add(6)
    insSortedSet.remove(1)
    println("insSortedSet = ${insSortedSet}")   //  insSortedSet = [2, 4, 6, 7]

    insSortedSet.clear()
    println("insSortedSet = ${insSortedSet}")   //  insSortedSet = []

LinkedHashSet()

입력된 순서대로 정렬해준다.

profile
러닝커브를 따라서 등반중입니다.

0개의 댓글