스위프트 배열
Swift 배열은 순서가 지정된 목록을 사용하여 동일한 유형의 여러 값을 저장합니다. 동일한 값이 배열의 다른 위치에 여러 번 나타날 수 있습니다.
Swift 배열은 요소 유형을 강제로 감지합니다. 유형이 다른 경우 오류가 보고됩니다. Swift 배열은 Array<Element>와 같은 형식을 따라야 합니다. 여기서 Element는 여기에 존재할 수 있는 유일한 데이터 유형입니다. 정렬.
배열을 만들어 변수에 할당하면 생성된 컬렉션을 수정할 수 있습니다. 즉, 배열을 만든 후 추가, 삭제 또는 수정을 통해 배열의 항목을 변경할 수 있습니다. 배열을 상수에 할당하면 배열을 변경할 수 없으며 배열의 크기나 내용도 수정할 수 없습니다.
Create Array
구성 구문을 사용하여 특정 데이터 유형의 빈 배열을 만들 수 있습니다.
var someArray = [SomeType]()
다음은 초기화된 크기의 배열을 만드는 구문입니다.
var someArray = [SomeType](count: NumbeOfElements, repeatedValue: InitialValue)
다음 예에서는 Int 유형을 만듭니다. size 초기 값이 3이고 초기 값이 0인 빈 배열:
var someInts = [Int](count: 3, repeatedValue: 0)
다음 예에서는 세 가지 요소가 있는 배열을 만듭니다.
var someInts:[Int] = [10, 20, 30]
배열 액세스
다음 예제에 따라 배열 요소에 액세스할 수 있습니다. 배열의 인덱스 구문은 다음과 같습니다:
var someVar = someArray[index]
index 인덱스는 0부터 시작하고 인덱스 0은 첫 번째 요소에 해당하고 인덱스 1은 두 번째 요소에 해당합니다.
다음 예제를 통해 배열을 생성, 초기화 및 액세스하는 방법을 배울 수 있습니다.
import Cocoa var someInts = [Int](count: 3, repeatedValue: 10) var someVar = someInts[0] print( "第一个元素的值 \(someVar)" ) print( "第二个元素的值 \(someInts[1])" ) print( "第三个元素的值 \(someInts[2])" )
위 프로그램 실행의 출력 결과는 다음과 같습니다.
第一个元素的值 10 第二个元素的值 10 第三个元素的值 10
배열 수정
append() 메서드를 사용할 수 있습니다. 할당 연산자 += 배열의 끝에 요소를 추가합니다. 아래와 같이 배열을 초기화하고 요소를 추가합니다.
import Cocoa var someInts = [Int]() someInts.append(20) someInts.append(30) someInts += [40] var someVar = someInts[0] print( "第一个元素的值 \(someVar)" ) print( "第二个元素的值 \(someInts[1])" ) print( "第三个元素的值 \(someInts[2])" )
위 프로그램 실행의 출력은 다음과 같습니다.
第一个元素的值 20 第二个元素的值 30 第三个元素的值 40
값을 수정할 수도 있습니다. 인덱스별 배열 요소:
import Cocoa var someInts = [Int]() someInts.append(20) someInts.append(30) someInts += [40] // 修改最后一个元素 someInts[2] = 50 var someVar = someInts[0] print( "第一个元素的值 \(someVar)" ) print( "第二个元素的值 \(someInts[1])" ) print( "第三个元素的值 \(someInts[2])" )
위 프로그램 실행의 출력 결과는 다음과 같습니다.
第一个元素的值 20 第二个元素的值 30 第三个元素的值 50
배열 탐색
for-in 루프를 사용하여 모든 배열의 데이터 항목을 탐색할 수 있습니다.
import Cocoa var someStrs = [String]() someStrs.append("Apple") someStrs.append("Amazon") someStrs.append("php") someStrs += ["Google"] for item in someStrs { print(item) }
위 프로그램 실행의 출력 결과는 다음과 같습니다.
Apple Amazon php Google
각 데이터 항목의 값과 인덱스 값이 동시에 필요한 경우 배열 순회를 위해 String의 enumerate() 메서드를 사용할 수 있습니다. 예는 다음과 같습니다.
import Cocoa var someStrs = [String]() someStrs.append("Apple") someStrs.append("Amazon") someStrs.append("php") someStrs += ["Google"] for (index, item) in someStrs.enumerate() { print("在 index = \(index) 位置上的值为 \(item)") }
위 프로그램 실행의 출력 결과는 다음과 같습니다.
在 index = 0 位置上的值为 Apple 在 index = 1 位置上的值为 Amazon 在 index = 2 位置上的值为 php 在 index = 3 位置上的值为 Google
Merge arrays
더하기 연산자(+)를 사용하여 동일한 유형의 두 기존 배열을 병합할 수 있습니다. 새 배열의 데이터 유형은 두 배열의 데이터 유형에서 추론됩니다.
import Cocoa var intsA = [Int](count:2, repeatedValue: 2) var intsB = [Int](count:3, repeatedValue: 1) var intsC = intsA + intsB for item in intsC { print(item) }
위 프로그램 실행의 출력은 다음과 같습니다.
2 2 1 1 1
count attribute
count 속성을 사용하여 배열 수를 계산할 수 있습니다. 배열 요소:
import Cocoa var intsA = [Int](count:2, repeatedValue: 2) var intsB = [Int](count:3, repeatedValue: 1) var intsC = intsA + intsB print("intsA 元素个数为 \(intsA.count)") print("intsB 元素个数为 \(intsB.count)") print("intsC 元素个数为 \(intsC.count)")
위 프로그램 실행의 출력 결과는 다음과 같습니다.
intsA 元素个数为 2 intsB 元素个数为 3 intsC 元素个数为 5
isEmpty attribute
읽기 전용 속성 isEmpty를 통해 배열이 비어 있는지 여부를 판단하고 부울 값을 반환할 수 있습니다.
import Cocoa var intsA = [Int](count:2, repeatedValue: 2) var intsB = [Int](count:3, repeatedValue: 1) var intsC = [Int]() print("intsA.isEmpty = \(intsA.isEmpty)") print("intsB.isEmpty = \(intsB.isEmpty)") print("intsC.isEmpty = \(intsC.isEmpty)")
위 프로그램 실행의 출력 결과는 다음과 같습니다.
intsA.isEmpty = false intsB.isEmpty = false intsC.isEmpty = true