본문 바로가기

Swift

[Swift] 배열과 딕셔너리

반응형

1. 배열

배열(Array)은 프로그래밍의 매우 중요한 데이터 구조다. Swift의 배열은 컬렉션 타입(collection type)이다. 컬렉션 타입은 여러 값들을 모아서 저장하는 데이터 타입을 말한다. 배열에는 같은 타입의 값들이 차례대로 저장되며, 이 값들은 저장된 위치를 나타내는 인덱스로 참조된다.

Swift에서 배열의 모든 요소는 닽은 타입이어야 한다. 예를들어, 요소의 타입이 Int인 배열 또는 Double인 밸열을 별토로 가질 수 있지만, Int와 Double 두 가지 타입의 요소들을 하나의 배열에 함께 저장할 수는 없다.

배열의 선언은 "var 배열명 = [배열 요소들]"과 같이 선언할 수 있다. 배열의 명시적 타입선언을 하기 위한 콜론(:) 사용법은 변수나 상수의 경우와 동일하나, 타입 이름 앞뒤로 대괄호를 둘러싼다는 것이 조금 다르다.

선언한 배열의 요소를 액세스할 때는 액세스하려는 요소의 인덱스를 대괄호 안에 넣은 후 배열 이름 다음에 붙인다. 배열의 첫 시작은 1이 아닌 0부터 시작한다(이것을 zero indexed라고 한다).


2. 딕셔너리

딕셔너리에는 키(key)와 값(value)으로 구성된 데이터를 순서에 관계없이 저장한다. 동일한 데이터 타입의 값들을 여러 개 저장한다는 면에서 배열과 유사하나, 키와 값이 한 쌍으로 된 형태로 저장된다는 것이 다르다. 여기서 키는 고유한 값이어야 한다. 또한, 딕셔너리의 요소는 순서 없이 저장되고 키를 기준으로 값을 처리한다.

딕셔너리는 쌍으로 조작되는 데이터 셋을 사용할 때 유용하다. 데이터 셋의 데이터가 쌍으로 조작될 때, 해당 데이터들은 일대일 관계를 갖는다고 한다.

위 코드에서는 명시적 타입으로 딕셔너리를 선언하며, 배열의 선언과 유사하다. 단, 키와 값 두 개의 타입을 지정하는 것이 다르며, 이 두 가지 타입은 콜론(:)으로 구분한다. 여기서는 이름을 저장하는 키는 String타입이고, 평점을 저장하는 값은 Double타입이다.

여기서 한 가지 눈여겨볼 것이 있는데, 출려된 딕셔너리 요소들의 순서가 입려된 순서와 같지 않다는 것이다. 애초에 딕셔너리의 경우는 요소들의 순서가 무의미한데, 배열의 순서적인 인덱스와는 다르게 키에 의해서 무작위 검색되어 액세스 되기 때문이다.

반응형

'Swift' 카테고리의 다른 글

[Swift] 함수 정의와 호출  (3) 2015.08.06
[Swift] Swift 기본 문법(if, switch, while, for, for in)  (1) 2015.08.05
[Swift] Swift에서의 변수와 상수  (1) 2015.08.03
[Swift] Swift 시작하기  (0) 2015.08.02