Swift-배열

Swift 4 배열은 동일한 유형의 순서가 지정된 값 목록을 저장하는 데 사용됩니다. Swift 4는 실수로도 배열에 잘못된 유형을 입력 할 수 없도록 엄격한 검사를합니다.

생성 된 배열을 변수에 할당하면 항상 변경 가능합니다. 즉, 항목을 추가, 제거 또는 변경하여 변경할 수 있습니다. 그러나 배열을 상수에 할당하면 해당 배열은 변경할 수 없으며 크기와 내용을 변경할 수 없습니다.

배열 생성

다음 초기화 구문을 사용하여 특정 유형의 빈 배열을 만들 수 있습니다.

var someArray = [SomeType]()

다음은 주어진 크기 a *의 배열을 만들고 값으로 초기화하는 구문입니다.

var someArray = [SomeType](count: NumbeOfElements, repeatedValue: InitialValue)

다음 문을 사용하여 빈 배열을 만들 수 있습니다. Int 요소가 3 개이고 초기 값이 0 인 유형-

var someInts = [Int](count: 3, repeatedValue: 0)

다음은 세 요소의 배열을 만들고 그 배열에 세 개의 값을 할당하는 또 다른 예입니다.

var someInts:[Int] = [10, 20, 30]

어레이 액세스

다음을 사용하여 배열에서 값을 검색 할 수 있습니다. subscript 구문, 다음과 같이 배열 이름 바로 뒤 대괄호 안에 검색하려는 값의 인덱스를 전달합니다.

var someVar = someArray[index]

여기, index0에서 시작하여 첫 번째 요소는 인덱스 0을 사용하여 액세스 할 수 있고 두 번째 요소는 인덱스를 1로 사용하여 액세스 할 수 있습니다. 다음 예제는 배열을 생성, 초기화 및 액세스하는 방법을 보여줍니다.

var someInts = [Int](count: 3, repeatedValue: 10)

var someVar = someInts[0]
print( "Value of first element is \(someVar)" )
print( "Value of second element is \(someInts[1])" )
print( "Value of third element is \(someInts[2])" )

위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.

Value of first element is 10
Value of second element is 10
Value of third element is 10

배열 수정

당신이 사용할 수있는 append()메서드 또는 더하기 할당 연산자 (+ =)를 사용하여 배열 끝에 새 항목을 추가합니다. 다음 예를 살펴보십시오. 여기에서 처음에는 빈 배열을 만든 다음 동일한 배열에 새 요소를 추가합니다.

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

var someVar = someInts[0]

print( "Value of first element is \(someVar)" )
print( "Value of second element is \(someInts[1])" )
print( "Value of third element is \(someInts[2])" )

위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.

Value of first element is 20
Value of second element is 30
Value of third element is 40

다음 예와 같이 주어진 인덱스에 새 값을 할당하여 배열의 기존 요소를 수정할 수 있습니다.

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

// Modify last element
someInts[2] = 50

var someVar = someInts[0]

print( "Value of first element is \(someVar)" )
print( "Value of second element is \(someInts[1])" )
print( "Value of third element is \(someInts[2])" )

위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.

Value of first element is 20
Value of second element is 30
Value of third element is 50

배열 반복

당신이 사용할 수있는 for-in 다음 예제와 같이 배열의 전체 값 세트를 반복하는 루프-

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs += ["Google"]
for item in someStrs {
   print(item)
}

위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.

Apple
Amazon
Google

당신이 사용할 수있는 enumerate() 다음 예제와 같이 항목의 색인을 값과 함께 반환하는 함수-

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs += ["Google"]

for (index, item) in someStrs.enumerated() {
   print("Value at index = \(index) is \(item)")
}

위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.

Value at index = 0 is Apple
Value at index = 1 is Amazon
Value at index = 2 is Google

두 개의 배열 추가

더하기 연산자 (+)를 사용하여 동일한 유형의 두 배열을 추가하면 다음과 같이 두 배열의 값 조합이있는 새 배열이 생성됩니다.

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 아래에 표시된 배열의 항목 수를 알아내는 배열의 속성-

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)

var intsC = intsA + intsB

print("Total items in intsA = \(intsA.count)")
print("Total items in intsB = \(intsB.count)")
print("Total items in intsC = \(intsC.count)")

위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.

Total items in intsA = 2
Total items in intsB = 3
Total items in intsC = 5

빈 속성

읽기 전용으로 사용할 수 있습니다. empty 배열의 속성은 아래와 같이 배열이 비어 있는지 여부를 확인합니다-

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