Repolode
apple

apple/swift-collections

Swift 개발자가 자주 사용하는 덱, 힙, 순서가 유지되는 세트와 딕셔너리, 비트 세트 등의 자료 구조를 제공하는 Swift 패키지입니다.

스타
4,547
포크
436
열린 이슈
70
마지막 커밋
23시간 전

어떤 프로젝트인가요?

Swift Collections는 표준 라이브러리의 Array, Set, Dictionary 타입을 확장하는 자료 구조 구현을 담은 Swift 패키지입니다. 주제별 모듈로 구성되어 있으며, 링 버퍼를 기반으로 한 양방향 큐인 DequeModule, 우선순위 큐로 사용할 수 있는 min-max 힙을 제공하는 HeapModule, 삽입 순서를 유지하는 OrderedSet과 OrderedDictionary를 제공하는 OrderedCollections 등이 있습니다.

그 밖에 더 효율적인 비트 기반 저장을 위한 BitCollections(BitSet 및 BitArray), 변경되지 않은 부분을 복사본 간에 공유하는 CHAMP trie 기반 영속 자료 구조인 HashTreeCollections(TreeSet 및 TreeDictionary), 소유권을 고려한 UniqueArray와 RigidArray를 제공하는 BasicContainers 모듈도 있습니다. Collections 모듈을 한 번 import하면 안정화된 주요 타입을 모두 사용할 수 있습니다.

이 패키지는 시맨틱 버저닝을 따르며, 최신 Swift 툴체인이 필요합니다. 최소 지원 버전은 릴리스별로 명시되어 있습니다. SortedCollections, Robin Hood 해시 컨테이너, 컨테이너 프로토콜 프리뷰 같은 실험적 기능은 선택적으로 활성화하는 패키지 traits 뒤에 있으며, 안정화된 API가 아닙니다.

핵심 기능

  • 01일반적인 컬렉션 요구에 사용할 수 있는 Deque, 힙, OrderedSet, OrderedDictionary 타입을 제공합니다.
  • 02비트 기반 데이터를 효율적으로 저장하는 BitSet과 BitArray를 제공합니다.
  • 03복사본 간에 변경되지 않은 부분을 공유하는 영속 자료 구조 TreeSet과 TreeDictionary를 제공합니다.
  • 04Collections 하나만 import하면 안정화된 주요 타입을 사용할 수 있습니다.
  • 05시맨틱 버저닝을 따르며, 릴리스마다 최소 Swift 툴체인 버전을 문서화합니다.

활용 사례

  • 커스텀 코드를 작성하지 않고 Swift 딕셔너리나 세트의 삽입 순서를 유지할 때.
  • Swift 서버나 앱에서 우선순위 큐 또는 양방향 큐를 사용할 때.
  • 비트 기반 타입으로 대규모 정수나 불리언 집합을 더 효율적으로 저장할 때.
  • 영속 트리를 사용해 딕셔너리의 불변 스냅샷을 여러 스레드나 상태 간에 공유할 때.

빠른 시작

  1. 1

    README의 사용 섹션에 설명된 대로 Package.swift에 swift-collections를 패키지 종속성으로 추가하세요

사용 전 알아둘 점

  • 패키지 trait를 통해 사용할 수 있는 실험적 기능은 안정적이지 않으며 예고 없이 변경되거나 제거될 수 있습니다.
  • Swift toolchain이 필요하므로 Swift 프로젝트에서만 사용할 수 있습니다.

토픽

#data-structures#collections#queue#heap#ordered-dictionary#bitset#hashing#collection#container#deque

자주 묻는 질문

swift-collections은(는) 무엇인가요?
Swift 개발자가 자주 사용하는 덱, 힙, 순서가 유지되는 세트와 딕셔너리, 비트 세트 등의 자료 구조를 제공하는 Swift 패키지입니다. Swift Collections는 표준 라이브러리의 Array, Set, Dictionary 타입을 확장하는 자료 구조 구현을 담은 Swift 패키지입니다. 주제별 모듈로 구성되어 있으며, 링 버퍼를 기반으로 한 양방향 큐인 DequeModule, 우선순위 큐로 사용할 수 있는 min-max 힙을 제공하는 HeapModule, 삽입 순서를 유지하는 OrderedSet과 OrderedDictionary를 제공하는 OrderedCollections 등이 있습니다.
swift-collections은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
swift-collections은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
swift-collections은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. swift-collections의 마지막 커밋은 2026년 11월 6일입니다.
swift-collections은(는) 어디에 사용할 수 있나요?
커스텀 코드를 작성하지 않고 Swift 딕셔너리나 세트의 삽입 순서를 유지할 때. Swift 서버나 앱에서 우선순위 큐 또는 양방향 큐를 사용할 때. 비트 기반 타입으로 대규모 정수나 불리언 집합을 더 효율적으로 저장할 때. 영속 트리를 사용해 딕셔너리의 불변 스냅샷을 여러 스레드나 상태 간에 공유할 때.
swift-collections는 어떻게 설치하나요?
README의 사용 섹션에 설명된 대로 Package.swift에 swift-collections를 패키지 종속성으로 추가하세요
swift-collections은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/apple/swift-collections

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트