반응형
※Swift에서 Collection은 많은 변수들을 묶어서 관리 하는 기능입니다.
Array란?
여러 변수를 관리하는 묶음의 타입입니다. (=쉽게 집합)
1. Type이 같은 Type끼리만 허용됩니다.(ex. 커피 트레이에 음료수를 담을 수는 없다.)
2. Element끼리 순번이 있습니다. / 각 Element는 index를 가지는데 0부터 시작합니다.
Array를 언제 쓰는가?
ex.1 순서가 있는 아이템
ex.2 아이템의 순서를 알면 유용할 때
Index란?
변수를 관리하는 묶음(집합)에 하나씩 번호 스티커를 붙여준 것인데
첫 번째 값에 0을
두 번째 값에 1을
마찬가지로 n 번째 값에 n-1의 번호스티커를 붙여준 것이고
인덱스 값으로 집합 내에 내용물을 출력할 수 있습니다.
1. 짝수를 모아놓은 Array를 만들어보겠습니다.
주의 : let을 쓰면 집합에 수정(삽입, 제거)이 안되므로 var를 써줍니다.
2. 위 짝수 집합에 10을 추가해 보겠습니다.
.append(10) 메소드를 사용해줍니다.
3. 여러개의 짝수를 더 추가 및 삭제를 해 보겠습니다.
방법 1. += [원소, 원소2, 원소3]
방법 2. .append(contentsOf: (원소4, 원소5)
방법 3. .insert(0, at 0) 메소드를 사용합니다.
inser메소드는 어느 값을 몇 번째 값에 넣을지 가능합니다.)
4. 여러 개의 값을 삭제 해 보겠습니다.
모든 값을 삭제 할 때
방법 1. .removeAll() 메소드를 사용합니다.
방법 2. []를 사용합니다.
n 번째 있는 값을 삭제 할 때
방법1. .remove(at: n)을 사용합니다.
** 5. 짝수 원소의 집합이 비어있는지 확인해 보겠습니다.
.isEmpty 매소드를 사용하여 확인 해줍니다.
위에서 2~20까지의 짝수를 넣어놨으니 당연히 false로 출력됩니다.
** 6. 짝수 원소 집합에 몇개의 원소가 있는지 확인해 보겠습니다.
원소는 2~20까지 짝수 원소가 들어가있으므로, 10개입니다.
7. 짝수 원소 집합에 처음 값이 어떤 값인지 알아보겠습니다.
.first 매소드를 사용해줍니다.
여기서 Optional값이 나온 이유는
집합안에 수가 있을 수도 없을 수도 있는 상황이기 때문에 Optional값이 출력됩니다.
순수 2를 써주고 싶을 때 저번시간에 배웠던 Optional 값 드러내기에 if let을 사용해서 출력하면 2로 출력할 수 있습니다.
※ Optional이란? https://accompani-i.tistory.com/120
8. 집합 내에 최솟값을 찾아보겠습니다.
.min()메소드를 사용하여 최솟값이 2임을 알아냈습니다.
.max()메소드를 사용하면 역시 최댓값을 구할 수 있습니다.
** 9. 인덱스 값으로 해당하는 번째의 숫자를 출력해 보겠습니다
해당 집합 이름(evenNumbers)에 [index값]을 추가하여 출력합니다.
여기서는 index0이 2입니다.
10. index값을 range설정 해서 넣을 수 있습니다.
11. 내가 찾고 싶은 값이 해당 Array에 있는지 찾아 보겠습니다.
.contains() 메소드를 사용합니다.
3을 찾고 싶은데 짝수로 array를 짜줬기 때문에 당연히 false값으로 출력됩니다.
12. 업데이트 기능을 사용해보겠습니다.
방법1.
[0] = -2 의 의미 : 0 번째 index를 -2로 바꾸겠다는 의미입니다.
출력은 1번째 값이였던(index0이였던) 2가 없어지고 -2가 업데이트 된 상황입니다.
방법2.
index의 range설정을 하여서 업데이트를 해주는 방법입니다.
index0~2 번째 값을 -2, 0, 2로 업데이트 하는 상황입니다.
13. 짝수 array의 좌표를 서로 바꿔보겠습니다.
.swapAt()메소드를 사용합니다.
index0 과 9의 자리를 바꾸는 명령입니다.
**** 14. for loop로 index에 어떤 값이 들어있는지 출력해보겠습니다.
for 변수 설정 in range설정.enumerated(){
print("inx: \(index), value" \(num)")
}
.enumerated()매소드는 열거하라는 메소드입니다.
15. Array를 훼손 하지 말고 앞에서 3개 제외하고, 뒤에서 3개 제외하고 출력해보겠습니다.
1. 앞에서 세 개 제외하고 : .dropFirst(3) 메소드를 사용합니다.
Array값은 삭제되지 않고 출력만 앞에서 세 개 제외한 채 출력합니다.
2. 뒤에서 세 개 제외하고 : .dropLast(3) 메소드를 사용합니다.
마찬가지로 Array값은 훼손되지 않고 뒤에서 세 개를 제외한 값이 출력 됩니다.
16. 앞에서 3개, 뒤에서 3개 값만 출력해보겠습니다.
앞에서 3개만 가져오기 .prefix(3) 메소드를 사용합니다.
뒤에서 3개만 가져오기 .suffix(3) 메소드를 사용합니다.
이상 여러가지 메소드를 사용하여
Array에서 값을 출력하는 연습을 해봤습니다.
반응형
'iOS > Swift 문법' 카테고리의 다른 글
[Swift] D10-2 Set (0) | 2022.03.05 |
---|---|
[Swift] 10-1 Dictionary (0) | 2022.03.05 |
[Swift]D9-1 Optional (0) | 2022.03.04 |
[Swift] D8, Fuction, inout (0) | 2022.03.03 |
[Swift]D7-3, Switch구문 (0) | 2022.03.02 |