Repolode
apple

apple/swift-collections

Swift開発者向けに、両端キュー、ヒープ、順序付きセット/辞書、ビットセットなど、よく使われるデータ構造を提供するSwiftパッケージ。

スター
4,549
フォーク
436
未解決の Issue
70
最終コミット
24 時間前

これは何?

Swift Collectionsは、標準ライブラリのArray、Set、Dictionary型を拡張するデータ構造の実装をまとめたSwiftパッケージです。テーマ別のモジュールで構成されており、リングバッファを基盤とする両端キューのDequeModule、優先度付きキューとして使えるmin-max heapのHeapModule、挿入順を保持するOrderedSetとOrderedDictionaryを提供するOrderedCollectionsなどがあります。

ほかにも、ビットベースのコンパクトなストレージを実現するBitCollections(BitSetとBitArray)、変更されていない部分をコピー間で共有するCHAMP trieベースの永続的なTreeSetとTreeDictionaryを提供するHashTreeCollections、所有権を考慮したUniqueArrayとRigidArrayを提供するBasicContainersがあります。Collectionsモジュールをimportすると、主要な安定版の型をまとめて利用できます。

このパッケージはセマンティックバージョニングに従っており、最近のSwiftツールチェーンが必要です。必要な最小バージョンはリリースごとに記載されています。SortedCollections、Robin Hoodハッシュコンテナ、コンテナプロトコルのプレビューなどの実験的機能は、明示的に有効化するパッケージtraitの背後にあり、安定版APIではありません。

主な機能

  • 01一般的なコレクション用途に使えるDeque、heap、OrderedSet、OrderedDictionary型。
  • 02ビットベースのコンパクトなストレージを実現するBitSetとBitArray。
  • 03変更されていない部分をコピー間で共有する永続的なTreeSetとTreeDictionary。
  • 04Collectionsを1つ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 heapの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 の数値は毎日更新されます。

関連プロジェクト