PHPackages                             jwilkinson/collections - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jwilkinson/collections

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

jwilkinson/collections
======================

A package providing a wide variety of standard interfaces and datastructures

06PHP

Since Feb 5Pushed 10y ago1 watchersCompare

[ Source](https://github.com/john-wilkinson/collections)[ Packagist](https://packagist.org/packages/jwilkinson/collections)[ RSS](/packages/jwilkinson-collections/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

collections
===========

[](#collections)

[![Latest Version on Packagist](https://camo.githubusercontent.com/8f24e6eba138d96d71507a1f76a6107448e9d2ec3cc70841b3a254d6b9978721/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6a77696c6b696e736f6e2f636f6c6c656374696f6e732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/jwilkinson/collections)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Build Status](https://camo.githubusercontent.com/d58932cf2a6ead3554985167fe1184b0e9029ad6dcf1cd1f8bea8c8eb340b393/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6a6f686e2d77696c6b696e736f6e2f636f6c6c656374696f6e732f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/john-wilkinson/collections)[![Coverage Status](https://camo.githubusercontent.com/38258d75b3632863af14d452b4b66a218f4dca9a7db2316c33e880c22d2f9a15/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f6a6f686e2d77696c6b696e736f6e2f636f6c6c656374696f6e732e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/john-wilkinson/collections/code-structure)[![Quality Score](https://camo.githubusercontent.com/1b85b8f6a6f1bcd8150027f41f84777451fc7e7797a2df55dcc5626dbf2fd1a5/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f6a6f686e2d77696c6b696e736f6e2f636f6c6c656374696f6e732e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/john-wilkinson/collections)[![Total Downloads](https://camo.githubusercontent.com/b3d6a0dfccb618875d14e5dac546e63b37251690f3cb610d630429f3146a2969/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6a77696c6b696e736f6e2f636f6c6c656374696f6e732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/jwilkinson/collections)

**Note:** Replace `:John Mark Wilkinson` `:john-wilkinson` `:collections` `:A consistent collections framework` with their correct values in [README.md](README.md), [CHANGELOG.md](CHANGELOG.md), [CONTRIBUTING.md](CONTRIBUTING.md), [LICENSE.md](LICENSE.md) and [composer.json](composer.json) files, then delete this line.

This is a consistent collections framework, strongly based off the Java Collections Framwork, with a lesser influence from ruby and python. It adheres to the PSR standards.

One of the major goals of this project is to provide an interface that allows the internals to be re-written in c, and given php bindings. This would tremendously increase the efficiency of the framework.

Install
-------

[](#install)

Via Composer

```
$ composer require john-wilkinson/:collections
```

Usage
-----

[](#usage)

```
use Jmw\Collection\Queue\ArrayDeque;

$deque = new ArrayDeque(['a','b','c']);

//a
echo $deque->poll();

//b
echo $deque->poll();

//c
echo $deque->pollLast();

//null
echo $deque->pollLast();
```

Change log
----------

[](#change-log)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

Testing
-------

[](#testing)

```
$ composer test
```

OR

```
$ phpunit
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security
--------

[](#security)

If you discover any security related issues, please email :author\_email instead of using the issue tracker.

Credits
-------

[](#credits)

- [John Mark Wilkinson](https://github.com/jwilkinson)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor4

4 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/e817d4a2b895191054ce5a1446889e69ff15dce6454c7ae4ff2346bcf7c74e9e?d=identicon)[john-wilkinson](/maintainers/john-wilkinson)

---

Top Contributors

[![philsturgeon](https://avatars.githubusercontent.com/u/67381?v=4)](https://github.com/philsturgeon "philsturgeon (20 commits)")[![john-wilkinson](https://avatars.githubusercontent.com/u/5498530?v=4)](https://github.com/john-wilkinson "john-wilkinson (11 commits)")[![RobLoach](https://avatars.githubusercontent.com/u/25086?v=4)](https://github.com/RobLoach "RobLoach (7 commits)")[![frankdejonge](https://avatars.githubusercontent.com/u/534693?v=4)](https://github.com/frankdejonge "frankdejonge (7 commits)")[![reinink](https://avatars.githubusercontent.com/u/882133?v=4)](https://github.com/reinink "reinink (5 commits)")[![marcqualie](https://avatars.githubusercontent.com/u/101022?v=4)](https://github.com/marcqualie "marcqualie (4 commits)")[![ravage84](https://avatars.githubusercontent.com/u/625761?v=4)](https://github.com/ravage84 "ravage84 (4 commits)")[![hassankhan](https://avatars.githubusercontent.com/u/1781985?v=4)](https://github.com/hassankhan "hassankhan (3 commits)")[![browner12](https://avatars.githubusercontent.com/u/5232313?v=4)](https://github.com/browner12 "browner12 (2 commits)")[![assertchris](https://avatars.githubusercontent.com/u/200609?v=4)](https://github.com/assertchris "assertchris (2 commits)")[![bcrowe](https://avatars.githubusercontent.com/u/752603?v=4)](https://github.com/bcrowe "bcrowe (2 commits)")[![kdubuc](https://avatars.githubusercontent.com/u/895661?v=4)](https://github.com/kdubuc "kdubuc (2 commits)")[![nyamsprod](https://avatars.githubusercontent.com/u/51073?v=4)](https://github.com/nyamsprod "nyamsprod (1 commits)")[![pborreli](https://avatars.githubusercontent.com/u/77759?v=4)](https://github.com/pborreli "pborreli (1 commits)")[![schmittjoh](https://avatars.githubusercontent.com/u/197017?v=4)](https://github.com/schmittjoh "schmittjoh (1 commits)")[![Anahkiasen](https://avatars.githubusercontent.com/u/1321596?v=4)](https://github.com/Anahkiasen "Anahkiasen (1 commits)")[![zackkitzmiller](https://avatars.githubusercontent.com/u/111536?v=4)](https://github.com/zackkitzmiller "zackkitzmiller (1 commits)")[![barryvdh](https://avatars.githubusercontent.com/u/973269?v=4)](https://github.com/barryvdh "barryvdh (1 commits)")[![bencorlett](https://avatars.githubusercontent.com/u/181919?v=4)](https://github.com/bencorlett "bencorlett (1 commits)")[![boekkooi](https://avatars.githubusercontent.com/u/399895?v=4)](https://github.com/boekkooi "boekkooi (1 commits)")

### Embed Badge

![Health badge](/badges/jwilkinson-collections/health.svg)

```
[![Health](https://phpackages.com/badges/jwilkinson-collections/health.svg)](https://phpackages.com/packages/jwilkinson-collections)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
