一个 PHP 集合库,用于表示和操作集合数据,设计灵感来自 Java Collections Framework。
apple/swift-collections
为 Swift 开发者提供双端队列、堆、有序集合与字典、位集合等常用数据结构的开源包。
- Star
- 4,547
- Fork
- 436
- 未关闭 Issue
- 70
- 最近提交
- 昨天
这是什么?
Swift Collections 是一个为 Swift 语言提供数据结构实现的开源包,对标准库中的 Array、Set 和 Dictionary 做了补充。DequeModule 提供基于环形缓冲区的双端队列,HeapModule 提供可用作优先队列的最小-最大堆,OrderedCollections 则提供保持插入顺序的 OrderedSet 和 OrderedDictionary。
其他模块包括 BitCollections(更紧凑的位集合 BitSet 与 BitArray)、HashTreeCollections(基于 CHAMP 前缀树实现的持久化哈希集合 TreeSet 与 TreeDictionary,副本之间共享未修改的部分),以及 BasicContainers(支持所有权语义的 UniqueArray 与 RigidArray)。Collections 模块可通过一条 import 语句引入上述主要稳定类型。
该包遵循语义化版本号,需要较新的 Swift 工具链,每个版本的最低要求见文档表格。SortedCollections、Robin Hood 哈希容器以及容器协议预览等实验性功能需通过可选的包特性(package trait)开启,不属于稳定 API。
核心功能
- 01提供双端队列、堆、OrderedSet 与 OrderedDictionary 等常用集合类型。
- 02提供 BitSet 与 BitArray,用位存储实现更紧凑的集合。
- 03提供持久化的 TreeSet 与 TreeDictionary,副本之间共享未修改的部分。
- 04通过 Collections 模块一次性引入主要稳定类型。
- 05遵循语义化版本,并标明每个版本所需的最低 Swift 工具链。
适用场景
- 在 Swift 应用中需要保持插入顺序的字典或集合时使用。
- 在 Swift 服务端或应用中实现优先队列或双端队列。
- 用位集合类型更紧凑地存储大量整数或布尔值。
- 借助持久化树结构在多个状态之间共享字典副本。
快速上手
- 1
在 Package.swift 中将 swift-collections 添加为依赖包,具体方法见 README 的使用说明
使用前须知
- 包特性(package traits)后的实验性功能不稳定,可能随时发生不兼容变更或被移除。
- 需要 Swift 工具链,因此仅适用于 Swift 项目。
标签
常见问题
- swift-collections 是什么?
- 为 Swift 开发者提供双端队列、堆、有序集合与字典、位集合等常用数据结构的开源包。 Swift Collections 是一个为 Swift 语言提供数据结构实现的开源包,对标准库中的 Array、Set 和 Dictionary 做了补充。DequeModule 提供基于环形缓冲区的双端队列,HeapModule 提供可用作优先队列的最小-最大堆,OrderedCollections 则提供保持插入顺序的 OrderedSet 和 OrderedDictionary。
- swift-collections 可以免费使用吗?用的什么许可证?
- swift-collections 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- swift-collections 还在维护吗?
- 活跃维护中。swift-collections 最近一次提交是在 2026年11月6日。
- swift-collections 适合用来做什么?
- 在 Swift 应用中需要保持插入顺序的字典或集合时使用。 在 Swift 服务端或应用中实现优先队列或双端队列。 用位集合类型更紧凑地存储大量整数或布尔值。 借助持久化树结构在多个状态之间共享字典副本。
- swift-collections 怎么安装和运行?
- 在 Package.swift 中将 swift-collections 添加为依赖包,具体方法见 README 的使用说明
- 在哪里获取 swift-collections?
- 源代码和安装说明在 GitHub 上:https://github.com/apple/swift-collections
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个 Java 压缩位图库(Roaring bitmap),以较少内存实现整数集合的快速运算。
精选 Flutter 库、插件、教程、文章和示例项目的资源清单,按主题分类整理。
自托管的收藏管理工具,可记录书籍、DVD、邮票、游戏等各类实体收藏。
Google 出品的 Java 核心库,提供 Multimap、Multiset 等集合类型以及并发、I/O、哈希、字符串等工具。
浏览器中运行的网页工具,用于加解密、编码转换、压缩解压、哈希计算和数据分析。