Skip to content

Latest commit

 

History

History
40 lines (19 loc) · 2.06 KB

Swift_collection_Array_prefix.md

File metadata and controls

40 lines (19 loc) · 2.06 KB

Swift - Collection_Array : prefix() 안전한 사용

prefix(_:) 메소드는 주어진 수(n)만큼의 요소를 포함하는 배열 또는 다른 컬렉션의 부분 시퀀스를 반환한다.

이 메소드는 Collection 프로토콜에 정의되어 있으며, 배열(Array), 세트(Set), 리스트(List) 등 다양한 컬렉션 타입에서 사용할 수 있다.

** 빠르게 접근한다는 점에서 사용할 수 있겠지만 안전하게 컬렉션을 가져오는데에 있어서도 사용할 수 있다. ** 만약 n이 컬렉션 전체 개수 보다 크거나 같을 때, 오류없이 컬렉션 전체를 리턴하기 때문이다.

prefix() 메서드의 작동 방식:

정의된 수의 요소 반환: 컬렉션에서 시작 부분부터 지정된 n 개의 요소를 추출하여 새로운 시퀀스로 만든다.

예를 들어, [1, 2, 3, 4, 5].prefix(3)[1, 2, 3]을 결과로 반환한다.

안전한 사용: 만약 n이 컬렉션의 전체 개수보다 크거나 같다면, prefix(_:)는 컬렉션 전체를 반환한다. 따라서 인덱스 오류의 위험이 없어 안전하게 사용할 수 있다.

용도: 이 메소드는 데이터의 일부분만 필요할 때 매우 유용하다.
예를 들어, 사용자 입력을 기반으로 상위 몇 개의 결과만 보여줄 때나 큰 데이터 세트에서 소량의 데이터만 빠르게 접근하고 싶을 때 사용할 수 있다.



비슷한 사용

위에서 사용한 예제를 map으로 구현이 가능하다.

map은 Collection 프로토콜을 따르는 모든 타입에 적용할 수 있다. Swift의 배열(Array), 문자열의 문자(Character) 시퀀스, 범위(Range), 그리고 사용자 정의 컬렉션 등 다양한 타입에서 map을 사용할 수 있다.

[1, 2, 3, 4, 5]이라는 배열을 num_list라고 했을때, n개 만큼 리턴을 한다고 하면

0...n-1 이라는 범위(range)에 map을 사용하여 이걸 파라미터로 num_list[$0] 를 생성할 수 있다.

(0...n-1).map { num_list[$0]} 를 사용하면 Array를 생성할 수가 있는 것이다.