Collection(컬렉션)

  - 여러 값을 그룹으로 묶어서 효율적으로 관리하는 데이터 셋

  - 종류는 List Set Map이 있다

    - List -> 순서가 있는 데이터 셋, 선언할 때 꺽쇠(<>) 사이에 데이터 형을 넣어줘야한다(int의 LIst는 -> List<int>)

      - [ ] 기호를 사용한다

      - List안의 요소가 변동 될 경우 var로 선언해 줄 수 있고, 없는 경우 final, const로 선언 가능하다, 단 요소를 변경할 수 없다 

      - 타입추론으로 LIst선언가능 (var sample = [1,2,3] 이런식으로도 선언 가능하다는 말이다 )

    - Set -> 중복되지 않은 값들이 묶인 데이터 셋!(중복을 허용하지 않는다)

      - { } 기호를 사용한다

      - 참고로 빈 Set을 만들고 싶을때는 var names = <String>{}; 와 같은 형식으로 만든다

        - var numbers = {}. 로 선언하면 map을 만드는 것임 

      - 순서가 없다, Index가 없다는말임

    - Map -> Key, Value가 하나로 1:1매칭되는 값을 가지는 데이터 셋

      - 선언할때는 Map<String, String> sample = { 'k1': 'v1', 'k2':'v2 } 이런식으로 선언한다

      - 특이사항으로는 키는 중복 불가하지만 값은 중복으로 넣을 수 있다

      - [변수이름][[키 이름]] 을 통해 값을 검색하거나 수정할 수 있다

      - keys, values를 통해 각 키 값을 모두 반환할 수 있다

 

    - List와 Set의 차이? 순서, Index, 중복여부 

 

Enumerations(열거형)

  - 여러 '상수' 값을 묶은 데이터 셋

  - 예제 -> enum Color { red, green, blue } 

  - 특징으로는 

      - 열거형 이름을 통해 열거형 값에 접근 가능 ( var Color = Color.blue }

      - switch문을 통해 각 case로 분기할 수 있음

      - index를 통해 열거형에 포함된 값이 열거형의 몇번째 있는지 알수 있음 (Color.red.index -> 0 )

  - values를 통해 포함되어있는 값을 알 수 있음 ( var colors = Color.values 로 할경우 List<Color> 로 추론됨)

  - name을통해 포함되어있는 값을 알 수 있음 ( Color.red.name -> red 값을 가짐)

  - 언제 사용함? 연관된 상수들의 집합을 정의할때 사용한다고 -> 같은 개념의 여러 값을 지정할때 사용함

 

+ Recent posts