어흥

[Swift] 배열 본문

iOS

[Swift] 배열

라이언납시오 2020. 8. 25. 09:44
728x90
반응형

1. 선언 방법

var evenNumbers:[Int] = [2,4,6,8]			//[2,4,6,8]
let evenNumbers2:Array<Int> = [2,4,6,8]			//[2,4,6,8]

 

2. 원소 추가

evenNumbers.append(10)				//[2,4,6,8,10]
evenNumbers+=[12,14,16]				//[2,4,6,8,10,12,14,16]
evenNumbers.append(contentsOf:[18,20])		//[2,4,6,8,10,12,14,16,18,20]

 

3. 기타 기능

let isEmpty = evenNumbers.isEmpty		//bool값 return
let size = evenNumbers.count			//배열의 개수 return

let firstItem = evenNumbers.first		//optional형태로 return. 빈 배열이면 nil

if let firstElement = evenNumbers.first{		//optional binding
    print(firstElement)
} else{
    print("빈 배열")
}

evenNumbers.min()				//배열의 최소값 : 2 (optional형태로 return)
evenNumbers.max()				//배열의 최대값 : 20 (optional형태로 return)

var secondItem = evenNumbers[1]		//배열의 2번째 원소 : 4 (optional형태 아님)
var lastItem = evenNumbers.last		//배열의 마지막 원소: 20 (optional형태로 return)


//배열이 [2,4,6,8,10,12,14,16,20]이라고 가정
//부분 배열 반환
let firstThree = evenNumbers[2...6]		//[6,8,10,12,14]
//포함 여부(bool)
evenNumbers.contains(3)			//false
evenNumbers.contains(4)			//true

//추가
evenNumbers.insert(0, at: 0)		//[0,2,4,6,8,10,12,14,16,18,20]

//삭제
evenNumbers.remove(at: 0)			//[2,4,6,8,10,12,14,16,18,20]

//전체 삭제
//evenNumbers.removeAll()			//[]
//evenNumbers = []					//[]

//단일 변환
evenNumbers[0] = -2					
evenNumbers							//[-2,2,4,6,8,10,12,14,16,18,20]

//부분 변환
evenNumbers[0...2] = [-2,0,2]
evenNumbers							//[-2,0,2,6,8,10,12,14,16,18,20]

//0번과 9번 스왑
evenNumbers.swapAt(0, 9)			//[20,2,4,6,8,10,12,14,16,18,-2]

//순번, 값 동시에 출력
for (index, num) in evenNumbers.enumerated(){
    print("idx: \(index), value : \(num)")
}

//앞에 3개 원소를 없앤 배열을 반환(실제 배열에는 영향x)
evenNumbers.dropFirst(3)				//[8, 10, 12, 14, 16, 18, -2] 반환
//뒤 원소 1개 없앤 배열 반환
evenNumbers.dropLast(1)					//[20, 0, 2, 8, 10, 12, 14, 16, 18] 반환

//앞에 원소 4개 반환
let firstFour = evenNumbers.prefix(4)		//[20,0,2,8]

//뒤에 원소 2개 반환
let lastTwo = evenNumbers.suffix(2)			//[18,-2]
728x90
반응형

'iOS' 카테고리의 다른 글

[Swift] Closure  (0) 2020.08.26
[Swift] Dictionary, Set  (0) 2020.08.25
[Swift] nil + 4가지 고급 기능  (0) 2020.08.24
[Swift] 기초 문법/ 지식 2  (0) 2020.08.24
[Swift] Flow Control  (0) 2020.08.23
Comments