순서가 정렬된 임의 접근 콜렉션
An ordered, random-access collection.
배열은 앱에서 자주 쓰이는 데이터 타입으로 여러 데이터를 한 번에 묶어서 처리할 때 용이하다. 정수, 문자열, 클래스 등 다양한 타입을 요소로 가질 수 있다.
// An array of 'Int' elements
let oddNumbers = [1, 3, 5, 7, 9, 11, 13, 15]
// An array of 'String' elements
let streets = ["Albemarle", "Brandywine", "Chesapeake"]
// Shortened forms are preferred
var emptyDoubles: [Double] = []
// The full type name is also allowed
var emptyFloats: Array<Float> = Array()
var digitCounts = Array(repeating: 0, count: 10)
print(digitCounts)
// Prints "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]"
for value in arr {
print("Array has \(value).")
}
if arr.isEmpty {
print("arr is empty.")
} else {
print("arr has element")
}
if let firstElement = arr.first, let lastElement = arr.last {
print(firstElement, lastElement, separator: ", ")
}
빈 배열일 경우 nil을 반환
print(oddNumbers[0], oddNumbers[3], separator: ", ")
// Prints "1, 7"
var arr = ["A"]
arr.append("B")
// ["A", "B"]
arr.append(contentsOf: ["C", "D"])
// ["A", "B", "C", "D"]
arr.insert("X", at: 2)
// ["A", "B", "X", "C", "D"]
var arr = ["A", "B", "C", "D"]
arr.remove(at: 2)
// ["A", "B", "D"]
var measurements = [1.2, 1.5, 2.9, 1.2, 1.5]
measurements.removeSubrange(1..<4)
print(measurements)
// Prints "[1.2, 1.5]"
arr.removeLast()
// ["A", "B"]
arr.removeAll()
// []
if let i = students.firstIndex(of: "Maxime") {
students[i] = "Max"
}
var arr = [1, 5, 3, 2, 4]
arr.sort()
print(arr) // [1, 2, 3, 4, 5]
arr.sort(by: >) // [5, 4, 3, 2, 1]
arr.reverse() // [5, 4, 3, 2, 1]
기본은 오름차순, 내림차순으로 하고 싶으면 (by : >) 또는 reverse 사용 가능
원본 배열이 정렬됨
// arr.sorted() 반환 값을 사용하지 않아서 에러
var sortedArr = arr.sorted()
print(sortedArr) // [1, 2, 3, 4, 5]
print(arr) = [1, 5, 3, 2, 4]
sortedArr = arr.sorted(by: >)
print(sortedArr) // [5, 4, 3, 2, 1]
원본은 변하지 않고 정렬된 배열 값을 리턴함
계속 추가 예정...