for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
// Copyright (c) Lellys Informática. All rights reserved. See License.txt in the project root for license information.
namespace Collections;
use Collections\Immutable\ImmArrayList;
use Collections\Immutable\ImmDictionary;
use Collections\Immutable\ImmSet;
/**
* Provides the abstract base class for a strongly typed collection.
*/
abstract class AbstractConstCollectionArray extends AbstractCollection implements
CollectionInterface,
CollectionConvertableInterface,
\Serializable,
\JsonSerializable
{
use SortTrait;
public function __construct($array = null)
if ($array !== null) {
$this->addAll($array);
}
* @var array
protected $container = [];
* {@inheritdoc}
public function isEmpty()
return $this->count() === 0;
public function count()
return count($this->container);
public function clear()
$this->container = [];
return $this;
public function serialize()
return serialize($this->container);
public function unserialize($serialized)
$this->container = unserialize($serialized);
return $this->container;
public function jsonSerialize()
public function toVector()
return new ArrayList($this);
public function toImmVector()
return new ImmArrayList($this);
public function toSet()
return new Set($this);
public function toImmSet()
return new ImmSet($this);
public function toMap()
return new Dictionary($this);
public function toImmMap()
return new ImmDictionary($this);