[Swift] 튜플, 배열 (다수의 데이터 다루기) #1

김영민·2022년 5월 18일
0
post-custom-banner

오늘은 다수의 데이터를 다루는 방법에 대해 정리 해보겠습니다 !
튜플 배열 딕셔너리 셋 중에서 오늘은 튜플과 배열에 대해서만 정리 해보겠습니다.

다수의 데이터

  • 데이터의 개수가 가변 (여러 개)
  • 다루는 데이터의 타입 (String과 Int 등)

튜플

var one = (1,"one","일")
  • 괄호 안에 콤마를 이용해서 값 나열
one.2 = "하나"
print(one)
// 결과 : (1,"one","하나")
  • .(index)로 값 얻어오기 및 설정 가능
let (num,_,_) = one
num //1
  • 언더 스코어로 무시 가능 (개별로 값을 받아올 수 있습니다.)

튜플 이름 설정

튜플은 원소에 이름을 설정할 수 있습니다.

var two = (num: 2, eng: "two", kor: "둘")
two.num //2
two.kor // "둘"
  • 이름을 설정하여 접근할 수 있습니다.
  • 없는 이름을 사용하면 접근 에러가 발생합니다 !

튜플 간 비교

(1,"1") == (1,"1") //true
(1,"one") < (2, "two") // true
(1,"one") < (1, "first") //false

배열

  • collection type (딕셔너리와 셋도 collection type 입니다.)
  • 인덱스 기반, 다수의 데이터 다루기
  • 타입 선언 : Array<Elment.>, [Element]
  • var로 설정 -> 수정 가능, let으로 설정 -> 수정 불가능

배열 생성

var intArr : [Int] = [1,2,3,4,5]
var strArr = ["A","B","C"]
let intArr2 = Array<Int>([1,2,3,4])
  • 3가지 방법으로 배열을 생성할 수 있습니다.
var emptyArr = [Int]()
var emptyArr2 = Array<String>()
var emptyArr3 : [Float] = []
  • 공백 배열을 만들 때는 이런 방식으로 만들 수 있습니다.
  • 꼭 타입 선언을 해줘야 합니다.

배열의 원소 접근

intArr.count //배열 원소의 개수 
intArr.isEmpty //배열 공백 확인
  • .count : 배열 원소의 개수를 반환
  • .isEmpty : 배열이 공백인지 아닌지 반환

배열 변경

배열 추가

var arr = [1,2,3]
arr.append(5) //[1,2,3,5]
arr.insert(4,at:3) //[1,2,3,4,5]
arr += [6,7] //[1,2,3,4,5,6,7]
  • append : 배열의 원소 마지막 뒤에 붙임
  • insert : 원하는 인덱스에 값을 추가할 수 있습니다.
  • "+" : 배열과 배열을 합칠 수 있습니다.

배열 삭제

arr.remove(at:3)
  • 특정 인덱스의 항목 제거
var arr = [1,2,3,4,5]
arr.removeFirst() //[2,3,4,5]
arr.removeFirst(2) //[4,5]
  • removeFirst를 통해 첫번째 원소를 제거할 수 있습니다.
  • 괄호 안에 Int 값을 넣으면 Int 값만큼 앞에서부터 제거됩니다.

밸류 타입

  • swift의 배열은 밸류 타입입니다.
  • 따라서 배열을 대입하면 복사가 됩니다.

배열 에러

  • let 배열에 변경
  • 타입 에러
  • 범위 에러
post-custom-banner

0개의 댓글