잡초의 일지

[Swift] Collection : Array 본문

[코딩] 배우는것/Swift

[Swift] Collection : Array

JabCho 2020. 7. 9. 16:18
728x90
반응형
SMALL

Array

0부터 시작.

같은 타입만 담는다. (예외 가능)

순서에 관한것.

 

Array 선언 방법

var arr1: [Int] = [1, 2, 3, 4]
var arr2: Array<Int> = [1, 2, 3, 4]

위의 두개 중 아무거나 써도 됌.

 

Array 갯수 세기

count

arr.count		//배열에 있는 요소의 갯수 알 수 있음

 

Array 비우기 / 제거

remove, removeAll(),  = []

arr.remove(at: 0)		//0번째 요소 지움
arr.removeAll()			//모두 지움
arr = []			//모두 지움

 

배열이 비었는지 물어보는것.

isEmpty

let isEmpty = arr.isEmpty

 

Array 채우기

append, +=, insert

arr.append(5)		//뒤에 5 추가
arr += [6, 7, 8]		//뒤에 6, 7, 8 추가
arr.append(contentsOf: [9, 10])		//뒤에 9, 10 추가
arr.insert(-1, at: 0)		//0번째에 -1 추가

 

n번째 요소의 값

range type, Nth Item =  [n-1]

var firstItem = arr[0]
var secondItem = arr[1]
var tenthItem = arr[9]
var nthItem = arr[n-1]


var firstThreeItems = arr[0...2]     //range type. 범위를 사용할 수 있다.
print(arr.first)						//첫번째 요소 출력
let firstItem = arr.first
//print(firstItem)

 

배열에는 아무 값도 안들어갈 수 있기 때문에 (비어있을 수 있기 때문에) 전에 배운 옵셔널을 사용한다.

if let firstElementInArr = arr.first{
    print("--> first item is \(firstElementInArr)")
}

 

 

n번째 요소의 값 바꾸기

arr[0] = -2
arr[0...2] = [-2, 0, 2]

 

Array 출력

for 문 사용하여 출력

for num in arr {			//arr에 있는 요소 출력
    print(num)
}
for (index, num) in arr.enumerated(){
    print("index: \(index), value: \(num)")
}

 

Array 요소 다루기

  • 최대, 최소

min(), max()

arr.min()		//arr에 있는 최소값
arr.max()		//arr에 있는 최대값

 

  • array 안에 있는 요소끼리 값 바꾸기

swapAt( , )

arr.swapAt(0, 1)		//0번째랑 1번째 요소의 값을 서로 바꿈.

 

  • 특정한 값 들어있는지 묻기

contains

arr.contains(3)			//true
arr.contains(15)		//false

 

  • 그 외 기능

dropFirst, dropLast, prefix, suffix

let firstThreeRemoved = arr.dropFirst(3)	//처음 요소 3개 버림

let lastRemoved = arr.dropLast(3)		//마지막 요소 3개 버림
	
let firstThree = arr.prefix(3)			//처음 요소 3개만

let lastThree = arr.suffix(3)			//마지막 요소 3개만

 

 

중요한것 isEmpty, count, [index] 접근하는 방법, for loop로 아이탬 빼오는 방법

 

----------------------------------------------------------------------------------------------------------------------------

연습

import UIKit

/*****  Array 선언 *****/
var arr1: [Int] = [1, 2, 3, 4]
var arr2: Array<Int> = [100, 200, 300, 400]
arr1
arr2

/***** Array 요소 갯수 세기 *****/
arr1.count
arr2.count

/***** Array  최대, 최소*****/
arr1.min()
arr1.max()
arr2.min()
arr2.max()

/***** Array 요소 바꾸기*****/
arr1.swapAt(0, 1)       // 0번째랑 1번째 요소 바꾸기
arr1

/***** Array 에 특정 값 있는지 확인하기 *****/
arr1.contains(3)        //true
arr1.contains(100)      //false

/***** Array 채우기, 추가 *****/
// 1. arr[i] = n 사용
var firstItem = arr1[0]
var secondItem = arr1[1]
    //var NthItem = arr1[n-1]
var first_to_third_Item = arr1[0...2]
arr1[0] = 10     // 0번째 값이 1에서 10으로 바뀜
arr1
arr1.first      // 옵셔널 값이다.
if let firstItem = arr1.first{      // if let 을 이용해서 옵셔널 바인딩 해준다.
    print("The First Item is \(firstItem)")
}
// 2. arr[i...j] = [x, y, z ... ] 사용
arr1[0...2] = [-1, 10, 5]
arr1
// 3. append 사용
arr1.append(3)      // 맨 뒤에 3 추가
arr1.append(2)      // 맨 뒤에 2 추가
arr1.append(1)      // 맨 뒤에 1 추가
arr1
// 4. append(contentsOf: []) 사용
arr1.append(contentsOf: [11, 12])       // 맨 뒤에 11, 12 추가
arr1
// 5. += 사용
arr1 += [13, 14]      // 맨 뒤에 13, 14 추가
arr1
// 6. insert 사용
arr1.insert(0, at: 7)      //7번째에 0 삽입
arr1

/***** Array  출력 *****/
// for 문을 이용해서 출력한다.
// 방법 1.
for index in arr2 {
    print(index)
}
// 방법 2.
for (index, value) in arr2.enumerated() {
    print("index: \(index) , value: \(value)")
}

/***** Array 에서 특정 요소 선택 *****/
arr1.dropFirst(3)       // arr1에서 처음 요소 3개 버리기
arr1.dropLast(3)            // arr1에서 마지막 요소 3개 버리기
arr1.prefix(3)      // arr1에서 처음 요소 3개만 선택
arr1.suffix(3)      // arr1에서 마지막 요소 3개만 선택

/***** Array 비우기, 제거 *****/
arr1.isEmpty         // false
arr1
arr1.remove(at: 2)  // arr1[2] 요소 없어짐
arr1
arr1.removeAll()    // 다 없어짐
arr1
arr1 = []           // 다 없어짐
arr1
arr1.isEmpty         // true
arr1

----------------------------------------------------------------------------------------------------------------------------

728x90
반응형
LIST

'[코딩] 배우는것 > Swift' 카테고리의 다른 글

[Swift] Collection : Set  (0) 2020.07.09
[Swift] Collection : Dictionary  (0) 2020.07.09
[Swift] Optional 옵셔널  (0) 2020.07.08
[Swift] function 함수 만들기  (0) 2020.07.08
[Swift] Tuple 튜플 사용  (0) 2020.07.07
Comments