어흥
[Swift] 배열 본문
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