tebru/php-collections

基于Java集合框架的PHP数据结构

v0.3.2 2017-01-15 18:14 UTC

This package is auto-updated.

Last update: 2024-09-10 01:16:41 UTC


README

Build Status Code Coverage Scrutinizer Code Quality SensioLabsInsight

此库将Java集合框架移植到PHP。

安装

composer require tebru/php-collections

集合

集合提供数据存储,其中顺序和随机访问不重要。所有集合实现CollectionInterface

AbstractCollection

这是一个实现了其方法的抽象类。它将决定使用什么底层数据结构的决策推迟到具体实现。

Bag

这是一个实现CollectionInterface的类,它继承自AbstractCollection并使用数组作为数据存储。

AbstractList

这继承自AbstractCollection并实现ListInterface。列表为集合添加了随机访问功能。它允许在特定索引处获取/设置/删除元素。默认情况下,它们将元素添加到列表末尾。

ArrayList

这是一个实现CollectionInterfaceListInterface的类。它继承自AbstractList并使用数组作为数据存储。

AbstractSet

这继承自AbstractCollection并实现SetInterface。集合与通用集合的不同之处在于只允许每个元素存在一个实例。

HashSet

这是一个实现CollectionInterfaceSetInterface的类,它继承自AbstractSet。它使用HashMap作为数据存储。

映射

映射提供数据存储,其中顺序不重要,但通过键获取值的能力很重要。所有映射实现MapInterface

AbstractMap

这实现了MapInterface并实现任何不需要了解特定数据存储的方法。

HashMap

这是一个实现MapInterface并继承自AbstractMap的类。它使用数组作为数据存储。