ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kotlin 기초 (2) - Collection & 표준함수
    Kotlin 2021. 3. 18. 11:36
    반응형

    List 

    - list 는 변경이 불가능한 방식 ( listOf() ) 

    - 배열 위치에 직접적인 값 대입이 불가능 ( ex :  list[0] = 10   ) 

    - get() 없이 대괄호로 접근 가능

    - MutablList ,ArrayList 를 사용할경우 변경 가능 ( mutbleListOf() , arrayListOf() ) 

    Set

    - 중복을 허용하지 않음 

    - 순차적이지 않음 

    - Set 은 변경 불가 ( setOf() ) 

    - MutableSet , HashSet ,LinkedHashSet , TreeSet 

    - add() , remove() 

    - HashSet 은 HashCode 값 순서로 검색됨 

    Map 

    - key ,value 구성 

    - 순차적이지 않음, 키만 중복이 불가능 

    - mapOf( "key1" to 1 , "key2", 2 )  /   mapOf( Pair("key1" , 1 ) , Pari( "key2", 2 )  )

    - MutableMap<K,V> ,HashMap<K,V> , LinkedHashMap<K,V>,SortedMap<K,V>

    - put() ,set() , remove()

    Sequence

    - 큰 데이터를 연산할때 좋음 

    - 중간에 리스트를 생성하지 않기 때문에 filter 보다 효과정 

    - 시퀀스는 중간연산에서는 아무것도 실행되지 않음 , 최종 호출될때 실행됨 

    - map , filter 순서에 따라 성능이 달라짐 

        1) map -> filter : map 에서 모든 원소를 iteration 

        2) filter -> map : filter 에서 조건에 만족하는값만 iteration 

    - User Defined Sequence 가 가능 함. 

     

    Apply , Let 

    - 둘다 구성시 반복을 줄이는데 목적 

    - 차이점 

          -   Apply 는 대체만 하고 let 은 전달 한다 

          - let 은 호출된 객체의 참조만을 인자로 받기 때문에 it 키워드 사용 가능

          - Apply는 람다 실행이 끝나면 객체를 반환하고 let 은 람다의 마지막 코드의 실행 결과를 반환한다 

    run      

    - apply 와 유사. 단 객체를 반환하지 않음 

    also 

    - let 와 유사 , 다른점은 결과가 아닌 객체를 반환 

     

    takeIf , takeUnless

    - takeIf는 람다 조건식을 실행한 후 true면 받은 객체가 반환되고 false면 null이 반환

    - takeUnless는 조건식을 실행한 후 false면 받은 객체가 반환되고 true면 null이 반환

     

     

    반응형

    'Kotlin' 카테고리의 다른 글

    코틀린 vs Java  (0) 2021.07.12
    Kotlin Coroutine 사용하기  (0) 2021.05.13
    Kotlin 기초 문법 예제  (0) 2021.03.17
Designed by Tistory.