/** * Adiciona os elementos contidos no parâmetro que não já estejam na referida * coleção * @param ICollection $collection */ public function addAll(ICollection $collection) { $iterator = $collection->iterator(); while ($iterator->hasNext()) { $i = $iterator->next(); $this->add($i); } }
/** * Instacia um objeto do Tipo ListIterator para iteração com um objeto do tipo * AbstractList, e se configura internamente com os elementos contidos na List * passada como parâmetro * * @param AbstractList $list */ public function __construct(ICollection $list) { parent::__construct($list->toArray()); }
/** * Retorna um objeto de AbastractCollection, recebendo como parâmetro um * objeto que implemente a interface ICollection * * @param ICollection $collection */ public static function ofCollection(ICollection $collection) { $class = get_called_class(); return new $class($collection->toArray()); }