[야우쓰] 1주차(1) 컬렉션 타입

hello_hidi·2022년 11월 11일
0

야우쓰

목록 보기
1/20
post-thumbnail

컬렉션 타입 특성

  • Swift는 콜렉션의 값을 저장하기 위한 array, set, dictionary와 같은 3개의 원시적인 콜렉션 타입을 제공
  • Swift에서 콜렉션 타입은 저장할 수 있는 값의 타입과 키에 대해 항상 명확하다. 즉 실수로 콜렉션에 잘못된 타입을 추가하거나 콜렉션에서 검색할 값에 대해 타입이 명확하다는 것을 의미
  • 콜렉션은 가변성을 가지고 있어 아이템을 추가, 삭제, 교체를 할 수 있다. 그러나 변경이 필요없는 경우 상수로 선언하여 불가변 콜렉션을 만드는 것이 좋다. 이렇게 하면 코드에 대해 더 쉽게 추론할 수 있고 Swift 컴파일러가 생성한 콜렉션의 성능을 최적화 할 수 있습니다.

제네릭 콜렉션

Swift의 배열, 집합, 딕셔너리 타입은 제너릭 콜렉션으로 구현됩니다.

제네릭?

특정 타입만 다루지 않고 여러 종류의 타입으로 변신할 수 있도록 클래스나 메소드를 일반화시키는 기법

Array

Array란?

순서가 있는 리스트 컬렉션

  • 인덱스(순서)를 통해 값에 접근을 할 수 있다.
  • 다양한 리터럴 문법을 활용하여 표현할 수 있어서 본인이 편한 방식 or 팀에서 같이 작업한다면 팀 내에서 표현 방식을 맞추는게 좋다.
var integers: Array<Int> = Array<Int>()

Array method

메소드명설명
.append(원소)원소를 추가한다.
.contains(원소)배열 안에 원소 유무를 bool타입으로 봔한한다.
.remove(at:index)index째 있는 원소를 삭제한다.
.insert(at:index)index째 원소를 추가한다.
.removeAll()모든 원소를 지운다.
.count원소의 갯수를 반환한다.
.firstIndex(of: 원소)첫번째로 나오는 해당 원소의 위치를 반환한다.
.lastIndex(of: 원소)마지막으로 나오는 해당 원소의 위치를 반환한다.
.isEmpty배열이 비어있는지 bool타입으로 반환한다.
[index] = 원소index 위치의 원소를 교체한다.
.first / .last첫번째, 마지막 값을 반환한다.
[index]특정 index의 값을 알고 싶다면

Dictionary

Dictionary란?

Key와 Value 쌍으로 이루어진 데이터 컬렉션

  • 순서가 절대 보장되지 않는다. (Array와의 가장 큰 차이점)
  • Key값으로 데이터를 접근할 수 있다.
  • dictionary도 다양한 리터럴 문법으로 선언 가능하다.
var namesOfIntegers = [Int: String]()

Dictionary method

메소드명설명
.updateValue(value, forKey: key)key, value값을 통해 새로운 데이트를 추가한다. 수정방식은 동일한데, key값이 딕셔너리에 없으면 새로 추가한다.
.removeValue(value, forKey: key)딕셔너리 값을 삭제한다.
.removeAll()모든 딕셔너리 값 삭제한다.
.count딕셔너리 원소 개수를 반환한다.
.isEmpty딕셔너리가 비어있는지 bool타입으로 반환한다.

Set

Set란?

순서가 존재하지 않고, 멤버가 유일한 것을 보장하는 데이터 컬력션 타입

  • 아이템의 순서가 중요하지 않거나 아이템이 반복되면 안될 때 배열 대신 사용가능
  • 집합에 저장하기 위해 타입은 반드시 hashable여야 함. hashable은 데이터를 간단한 숫자로 변할 수 있는 타입이다.
var letters = Set<Character>()

Set method

메소드명설명
.insert(원소)원소를 추가한다.
.isEmpty배열이 비어있는지 bool타입으로 반환한다.
.remove(원소)집합 안에 원소를 삭제한다.
.contains메서드를 사용하여 집합에 특정 아이템이 포함되어 있는지 알 수 있다.
profile
안뇽희디

0개의 댓글