Java Collections Framework에서 영감을 받은 타입 지정 컬렉션 및 맵 클래스를 제공하는 PHP 라이브러리입니다.
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
README의 사용 섹션에 설명된 대로 Package.swift에 swift-collections를 패키지 종속성으로 추가하세요
사용 전 알아둘 점
- 패키지 trait를 통해 사용할 수 있는 실험적 기능은 안정적이지 않으며 예고 없이 변경되거나 제거될 수 있습니다.
- Swift toolchain이 필요하므로 Swift 프로젝트에서만 사용할 수 있습니다.
토픽
자주 묻는 질문
- 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 통계는 매일 갱신됩니다.
관련 프로젝트
다른 형식보다 적은 메모리로 정수 집합의 집합 연산을 빠르게 수행하는 압축 비트맵(Roaring bitmap) Java 라이브러리입니다.
주제별로 정리한 Flutter 라이브러리, 플러그인, 튜토리얼, 아티클, 예제 앱 모음입니다.
책, DVD, 우표, 게임 등 모든 종류의 실물 컬렉션을 관리할 수 있는 셀프 호스팅 컬렉션 관리 도구입니다.
Google의 핵심 Java 라이브러리로, multimap과 multiset 같은 컬렉션, 그래프 구조, 동시성·I/O·해싱·문자열 유틸리티를 제공합니다.
흔히 Cyber Swiss Army Knife라고 불리는 브라우저 기반 암호화·인코딩·압축·해싱 및 데이터 분석 웹 앱입니다.