스위프트 세트 순회 순회

for-in 문은 배열과 같은 집합을 반복하는 데 사용할 수 있습니다.

할수있다.

배열처럼 인덱스로 순회 검색을 할 수는 없지만 순회 속성이 제공되기 때문에 set 자체를 for-in 문에 그대로 포함시킬 수 있고, 이렇게 문을 작성할 수 있다.

그것을 건너.

// 집합을 정의
var genres : Set = ("Classic", "Rook", "Balad")

// 집합을 순회 처리하면서 데이터를 출력
for g in genres {
   print("\(g)")
}


실행 결과

Swift의 문장은 본질적으로 무질서합니다.

sort() 메서드는 정렬된 결과를 가져옵니다.

.

물론 이 경우에도 집합 자체에는 순서가 적용되지 않고 메서드의 반환 값만 정렬됩니다.

// 집합을 정의
var genres : Set = ("Classic", "Rook", "Balad")

// 집합을 순회 처리하면서 데이터를 출력
for g in genres.sorted() {
   print("\(g)")
}


실행 결과

sort()와 sorted()가 무엇인가요?

-정렬 기준()

기본적으로 정렬() 원래 배열의 오름차순하다

내림차순으로 정렬하려면 (기준: >)쓰셔도 괜찮습니다

var arr = (4, 19, 10, 9, 12, 22)

// 기본 오름차순 정렬
arr.sort()

print(arr) // (4, 9, 10, 12, 19, 22)

// 내림차순 정렬
arr.sort(by: >)

print(arr) // (22, 19, 12, 10, 9, 4)

-정렬()

sorted()는 sort()와 다릅니다.

원본 배열을 건드리지 않고 복사본을 만들어 오름차순으로 정렬하고 정렬된 요소를 반환하는 스크롤입니다.

하다

내림차순으로 정렬하려면 sort(by: >) 와 같이 sorted(by: >) 를 사용하세요.할 수 있어요.

var arr = (4, 19, 10, 9, 12, 22)

// 기본 오름차순 정렬
var sortedArr = arr.sorted()

print(arr) // (4, 19, 10, 9, 12, 22)
print(sortedArr) // (4, 9, 10, 12, 19, 22)

// 내림차순 정렬
var sortedArrDown = arr.sorted(by: >)

print(arr) // (4, 19, 10, 9, 12, 22)
print(sortedArrDown) // (22, 19, 12, 10, 9, 4)

– sort()와 sorted()의 차이점, 주의할 점

정렬()은 원래 배열의 자체 순서변경

원래 배열의 순서가 중요한 경우 원래 배열의 순서가 중요한 상황에서 sort()를 사용하십시오. 문제는 원래 배열의 순서가 sort()를 사용하여 변경된다는 것입니다.

일어날 것이다

기존 배열의 순서가 중요한 경우 sort() 대신 sorted를 사용하세요

정렬됨 () 원본 배열의 복사본을 만들어 사용하십시오.하다

값이 중복되면 사용되는 메모리 양이 두 배가 됩니다.

될거야

또한 다시 사용하면 그만큼 메모리가 늘어나므로 큰 배열을 사용하는 경우에는 주의해서 사용하십시오.