# La clase SplDoublyLinkedList

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

## Introducción

La clase SplDoublyLinkedList proporciona las principales funcionalidades de una lista doblemente enlazada.

## Sinopsis de la Clase

class SplDoublyLinkedList implements Iterator, Countable, ArrayAccess, Serializable {
/* Constantes */
public const int IT_MODE_LIFO;
public const int IT_MODE_FIFO;
public const int IT_MODE_DELETE;
public const int IT_MODE_KEEP;
/* Métodos */
public add(int `$index`, mixed `$value`): void
public bottom(): mixed
public count(): int
public current(): mixed
public getIteratorMode(): int
public isEmpty(): bool
public key(): int
public next(): void
public offsetExists(int `$index`): bool
public offsetGet(int `$index`): mixed
public offsetSet(?int `$index`, mixed `$value`): void
public offsetUnset(int `$index`): void
public pop(): mixed
public prev(): void
public push(mixed `$value`): void
public rewind(): void
public serialize(): string
public setIteratorMode(int `$mode`): int
public shift(): mixed
public top(): mixed
public unserialize(string `$data`): void
public unshift(mixed `$value`): void
public valid(): bool
}

## Constantes predefinidas

## Dirección de Iteración

`SplDoublyLinkedList::IT_MODE_LIFO`

  La lista será iterada en un orden de última entrada, primera salida, como una pila.

`SplDoublyLinkedList::IT_MODE_FIFO`

  La lista será iterada en un orden de entrada y salida, como una cola.

## Comportamiento de Iteración

`SplDoublyLinkedList::IT_MODE_DELETE`

  La iteración eliminará los elementos iterados.

`SplDoublyLinkedList::IT_MODE_KEEP`

  La iteración no eliminará los elementos iterados.

## Tabla de contenidos

- SplDoublyLinkedList::add — Añadir/insertar un nuevo valor en el índice especificado
- SplDoublyLinkedList::bottom — Examinar el nodo del comienzo de la lista doblemente enlazada
- SplDoublyLinkedList::count — Cuenta el número de elementos de la lista doblemente enlazada
- SplDoublyLinkedList::current — Devuelve la entrada actual del array
- SplDoublyLinkedList::getIteratorMode — Devuelve el modo de iteración
- SplDoublyLinkedList::isEmpty — Comprueba si la lista doblemente enlazada está vacía
- SplDoublyLinkedList::key — Devuelve el índice del nodo actual
- SplDoublyLinkedList::next — Avanza a la siguiente entrada
- SplDoublyLinkedList::offsetExists — Devuelve si el índice solicitado existe
- SplDoublyLinkedList::offsetGet — Devuelve el valor del índice específicado
- SplDoublyLinkedList::offsetSet — Establece el valor del índice específicado
- SplDoublyLinkedList::offsetUnset — Borra el valor de el índice específicado
- SplDoublyLinkedList::pop — Extrae un nodo del final de la lista doblementa enlazada
- SplDoublyLinkedList::prev — Retrocede a la entrada anterior
- SplDoublyLinkedList::push — Inserta un elemento al final de la lista doblemente enlazada
- SplDoublyLinkedList::rewind — Rebobina el iterador hasta el inicio
- SplDoublyLinkedList::serialize — Serializa el almacenamiento
- SplDoublyLinkedList::setIteratorMode — Establece el modo de iteración
- SplDoublyLinkedList::shift — Quita un nodo del inicio de la lista doblemente enlazada
- SplDoublyLinkedList::top — Examina el nodo del final de la lista doblemente enlazada
- SplDoublyLinkedList::unserialize — Deserializa el almacenamiento
- SplDoublyLinkedList::unshift — Antepone un elemento a la lista doblemente enlazada
- SplDoublyLinkedList::valid — Comprueba si la lista doblemente enlazada contiene más nodos