public interface Deque
se extiende la cola
Una colección lineal que apoya la inserción de elementos y la eliminación en ambos extremos. El deque nombre es la abreviatura de "cola de doble composición" y es por lo general se pronuncia "cubierta". La mayoría de las implementaciones Deque lugar sin límites fijados en el número de elementos que puede contener, pero esta interfaz es compatible con deques restringida capacidad, así como aquellos que no tienen límite de tamaño fijo.
Esta interfaz define métodos para acceder a los elementos en ambos extremos de la deque. Se proporcionan métodos para insertar, eliminar, y examinar el elemento. Cada uno de estos métodos existe en dos formas: uno produce una excepción si la operación falla, el otro vuelve un valor especial (ya sea nula o falso, dependiendo de la operación). Esta última forma de la operación de inserción se ha diseñado específicamente para su uso con Deque implementaciones de restricción de la capacidad, en la mayoría de las implementaciones, las operaciones de inserción no puede fallar.
MÉTODO DETALLE
1. addFirst
addFirst void ( E e)
Inserta el elemento especificado en la parte delantera de este deque si es posible hacerlo inmediatamente, y sin violar las restricciones de capacidad. Cuando se utiliza un restringido deque la capacidad, en general es preferible utilizar el método offerFirst(E) .
Parámetros:
e - el elemento para agregar
Lanza:
IllegalStateException - si el elemento no se puede añadir en este momento debido a las restricciones de capacidad
ClassCastException - si la clase del elemento especificado impide que se añade a esta deque
NullPointerException - si el elemento especificado es null y esto deque no permite elementos nulos
IllegalArgumentException - si alguna propiedad del elemento especificado impide que se añade a esta deque
________________________________________
2. addLast
addLast void ( E e)
Inserta el elemento especificado al final de este deque si es posible hacerlo inmediatamente, y sin violar las restricciones de capacidad. Cuando se utiliza un restringido deque la capacidad, en general es preferible utilizar el método offerLast(E) .
Este método es equivalente a add(E) .
Parámetros:
e - el elemento para agregar
Lanza:
IllegalStateException - si el elemento no se puede añadir en este momento debido a las restricciones de capacidad
ClassCastException - si la clase del elemento especificado impide que se añade a esta deque
NullPointerException - si el elemento especificado es null y esto deque no permite elementos nulos
IllegalArgumentException - si alguna propiedad del elemento especificado impide que se añade a esta deque
________________________________________
3. offerFirst
offerFirst booleano ( Correo electrónico)
Inserta el elemento especificado en la parte delantera de este deque a menos que se violen las restricciones de capacidad. Cuando se utiliza un restringido deque capacidad, este método es preferible, en general a la addFirst(E) método, que puede dejar de insertar un elemento sólo una excepción.
Parámetros:
e - el elemento para agregar
Devoluciones:
true si el elemento se añadió a esta deque, de lo falso
Lanza:
ClassCastException - si la clase del elemento especificado impide que se añade a esta deque
NullPointerException - si el elemento especificado es null y esto deque no permite elementos nulos
IllegalArgumentException - si alguna propiedad del elemento especificado impide que se añade a esta deque
________________________________________
4. offerLast
offerLast booleano ( Correo electrónico)
Inserta el elemento especificado al final de este deque a menos que se violen las restricciones de capacidad. Cuando se utiliza un restringido deque capacidad, este método es preferible, en general a la addLast(E) método, que puede dejar de insertar un elemento sólo una excepción.
Parámetros:
e - el elemento para agregar
Devoluciones:
true si el elemento se añadió a esta deque, de lo falso
Lanza:
ClassCastException - si la clase del elemento especificado impide que se añade a esta deque
NullPointerException - si el elemento especificado es null y esto deque no permite elementos nulos
IllegalArgumentException - si alguna propiedad del elemento especificado impide que se añade a esta deque
________________________________________
5. removeFirst
E removeFirst ()
Recupera y elimina el primer elemento de este deque. Este método difiere de pollFirst sólo en que se produce una excepción si deque está vacía.
Devoluciones:
la cabeza de esta deque
Lanza:
NoSuchElementException - si esto deque está vacía
________________________________________
6. removeLast
E removeLast ()
Recupera y elimina el último elemento de esta deque. Este método difiere de pollLast sólo en que se produce una excepción si deque está vacía.
Devoluciones:
la cola de este deque
Lanza:
NoSuchElementException - si esto deque está vacía
________________________________________
7. pollFirst
E pollFirst ()
Recupera y elimina el primer elemento de este deque, o devuelve null si este deque está vacía.
Devoluciones:
la cabeza de esta deque, o null si este deque está vacía
________________________________________
8. pollLast
E pollLast ()
Recupera y elimina el último elemento de esta deque, o devuelve null si este deque está vacía.
Devoluciones:
la cola de este deque, o null si este deque está vacía
________________________________________
9. getFirst
E getFirst ()
Recupera, pero no elimina, el primer elemento de este deque. Este método difiere de peekFirst sólo en que se produce una excepción si deque está vacía.
Devoluciones:
la cabeza de esta deque
Lanza:
NoSuchElementException - si esto deque está vacía
________________________________________
10. getLast
E getLast ()
Recupera, pero no elimina, el último elemento de esta deque. Este método difiere de peekLast sólo en que se produce una excepción si deque está vacía.
Devoluciones:
la cola de este deque
Lanza:
NoSuchElementException - si esto deque está vacía
________________________________________
11. peekFirst
E peekFirst ()
Recupera, pero no elimina, el primer elemento de este deque, o devuelve null si este deque está vacía.
Devoluciones:
la cabeza de esta deque, o null si este deque está vacía
________________________________________
12. peekLast
E peekLast ()
Recupera, pero no elimina, el último elemento de esta deque, o devuelve null si este deque está vacía.
Devoluciones:
la cola de este deque, o null si este deque está vacía
________________________________________
13. removeFirstOccurrence
booleano removeFirstOccurrence ( Objeto o)
Quita la primera aparición del elemento especificado de este deque. Si la deque no contiene el elemento, que no se modifica. Más formalmente, elimina el primer elemento e tal que (o == null? E == null o.equals (e)) (si es que existe un elemento). Devuelve true si esta deque contiene el elemento especificado (o equivalentemente, si esto deque cambiado como resultado de la llamada).
Parámetros:
o - elemento a ser eliminado de esta deque, si está presente
Devoluciones:
true si un elemento se retiró como consecuencia de la presente convocatoria
Lanza:
ClassCastException - si la clase del elemento especificado es incompatible con esta deque (opcional)
NullPointerException - si el elemento especificado es null y esto deque no permite elementos nulos (opcional)
________________________________________
14. removeLastOccurrence
booleano removeLastOccurrence ( Objeto o)
Elimina la última aparición del elemento especificado de este deque. Si la deque no contiene el elemento, que no se modifica. Más formalmente, elimina el último elemento e tal que (o == null? E == null o.equals (e)) (si es que existe un elemento). Devuelve true si esta deque contiene el elemento especificado (o equivalentemente, si esto deque cambiado como resultado de la llamada).
Parámetros:
o - elemento a ser eliminado de esta deque, si está presente
Devoluciones:
true si un elemento se retiró como consecuencia de la presente convocatoria
Lanza:
ClassCastException - si la clase del elemento especificado es incompatible con esta deque (opcional)
NullPointerException - si el elemento especificado es null y esto deque no permite elementos nulos (opcional)
________________________________________
15. añadir
booleano agregar ( E e)
Inserta el elemento especificado en la cola que representa este deque (en otras palabras, en la cola de este deque) si es posible hacerlo de inmediato, sin violar las restricciones de capacidad, volviendo verdad sobre el éxito y el lanzamiento de un IllegalStateException si no hay espacio disponible . Cuando se utiliza un restringido deque la capacidad, en general es preferible utilizar offer .
Este método es equivalente a addLast(E) .
Especificada por:
add en la interfaz de Collection < E >
Especificada por:
add en la interfaz de Queue < E >
Parámetros:
e - el elemento para agregar
Devoluciones:
verdadera (como se especifica en Collection.add(E) )
Lanza:
IllegalStateException - si el elemento no se puede añadir en este momento debido a las restricciones de capacidad
ClassCastException - si la clase del elemento especificado impide que se añade a esta deque
NullPointerException - si el elemento especificado es null y esto deque no permite elementos nulos
IllegalArgumentException - si alguna propiedad del elemento especificado impide que se añade a esta deque
________________________________________
16. Ofrecemos
ofrecen booleano ( E e)
Inserta el elemento especificado en la cola que representa este deque (en otras palabras, en la cola de este deque) si es posible hacerlo de inmediato, sin violar las restricciones de capacidad, volviendo al verdadero éxito y false si no hay espacio disponible. Cuando se utiliza un restringido deque capacidad, este método es preferible, en general a la add(E) método, que puede dejar de insertar un elemento sólo una excepción.
Este método es equivalente a offerLast(E) .
Especificada por:
offer en la interfaz de Queue < E >
Parámetros:
e - el elemento para agregar
Devoluciones:
true si el elemento se añadió a esta deque, de lo falso
Lanza:
ClassCastException - si la clase del elemento especificado impide que se añade a esta deque
NullPointerException - si el elemento especificado es null y esto deque no permite elementos nulos
IllegalArgumentException - si alguna propiedad del elemento especificado impide que se añade a esta deque
________________________________________
17. quitar
E remove ()
Recupera y elimina la cabeza de la cola que representa este deque (en otras palabras, el primer elemento de este deque). Este método difiere de la poll sólo en que se produce una excepción si deque está vacía.
Este método es equivalente a removeFirst() .
Especificada por:
remove en la interfaz de Queue < E >
Devoluciones:
la cabeza de la cola que representa este deque
Lanza:
NoSuchElementException - si esto deque está vacía
________________________________________
18. encuesta
E poll ()
Recupera y elimina la cabeza de la cola que representa este deque (en otras palabras, el primer elemento de este deque), o devuelve null si este deque está vacía.
Este método es equivalente a pollFirst() .
Especificada por:
poll en la interfaz de Queue < E >
Devoluciones:
el primer elemento de este deque, o null si este deque está vacía
________________________________________
19. elemento
E elemento ()
Recupera, pero no elimina, la cabeza de la cola que representa este deque (en otras palabras, el primer elemento de este deque). Este método difiere de la peek sólo en que se produce una excepción si deque está vacía.
Este método es equivalente a getFirst() .
Especificada por:
element de la interfaz de Queue < E >
Devoluciones:
la cabeza de la cola que representa este deque
Lanza:
NoSuchElementException - si esto deque está vacía
________________________________________
20. ojeada
E peek ()
Recupera, pero no elimina, la cabeza de la cola que representa este deque (en otras palabras, el primer elemento de este deque), o devuelve null si este deque está vacía.
Este método es equivalente a peekFirst() .
Especificada por:
peek en la interfaz de Queue < E >
Devoluciones:
la cabeza de la cola que representa este deque, o null si este deque está vacía
________________________________________
21. empuje
sin efecto de empuje ( E e)
Inserta un elemento en la pila que representa este deque (en otras palabras, a la cabeza de este deque) si es posible hacerlo de inmediato, sin violar las restricciones de capacidad, volviendo verdad sobre el éxito y el lanzamiento de un IllegalStateException si no hay espacio disponible.
Este método es equivalente a addFirst(E) .
Parámetros:
e - el elemento de empuje
Lanza:
IllegalStateException - si el elemento no se puede añadir en este momento debido a las restricciones de capacidad
ClassCastException - si la clase del elemento especificado impide que se añade a esta deque
NullPointerException - si el elemento especificado es null y esto deque no permite elementos nulos
IllegalArgumentException - si alguna propiedad del elemento especificado impide que se añade a esta deque
________________________________________
22. pop
E pop ()
Aparece un elemento de la pila que representa este deque. En otras palabras, elimina y devuelve el primer elemento de este deque.
Este método es equivalente a removeFirst() .
Devoluciones:
el elemento en la parte delantera de este deque (que es la parte superior de la pila que representa este deque)
Lanza:
NoSuchElementException - si esto deque está vacía
________________________________________
23. quitar
booleano eliminar ( Objeto o)
Quita la primera aparición del elemento especificado de este deque. Si la deque no contiene el elemento, que no se modifica. Más formalmente, elimina el primer elemento e tal que (o == null? E == null o.equals (e)) (si es que existe un elemento). Devuelve true si esta deque contiene el elemento especificado (o equivalentemente, si esto deque cambiado como resultado de la llamada).
Este método es equivalente a removeFirstOccurrence(java.lang.Object) .
Especificada por:
remove en la interfaz de Collection < E >
Parámetros:
o - elemento a ser eliminado de esta deque, si está presente
Devoluciones:
true si un elemento se retiró como consecuencia de la presente convocatoria
Lanza:
ClassCastException - si la clase del elemento especificado es incompatible con esta deque (opcional)
NullPointerException - si el elemento especificado es null y esto deque no permite elementos nulos (opcional)
________________________________________
24. contiene
booleana contiene ( Objeto o)
Devuelve true si esta deque contiene el elemento especificado. Más formalmente, regresa true si y sólo si esta deque contiene al menos un elemento e tal que (== null?: O e == null o.equals (e)).
Especificada por:
contains en la interfaz de Collection < E >
Parámetros:
o - elemento cuya presencia en este deque se va a probar
Devoluciones:
true si este deque contiene el elemento especificado
Lanza:
ClassCastException - si el tipo del elemento especificado es incompatible con esta deque (opcional)
NullPointerException - si el elemento especificado es null y esto deque no permite elementos nulos (opcional)
________________________________________
25. tamaño
int size ()
Devuelve el número de elementos en este deque.
Especificada por:
size en la interfaz de Collection < E >
Devoluciones:
el número de elementos en este deque
________________________________________
26. iterador
Iterador < E > iterador ()
Devuelve un iterador sobre los elementos en este deque en la secuencia apropiada. Los elementos serán devueltos con el fin de la primera (la cabeza) a la última (la cola).
Especificada por:
iterator en la interfaz de Collection < E >
Especificada por:
iterator en la interfaz de Iterable < E >
Devoluciones:
un iterador sobre los elementos en este deque en la secuencia correcta
________________________________________
27. descendingIterator
Iterador < E > descendingIterator ()
Devuelve un iterador sobre los elementos en este deque en orden secuencial inverso. Los elementos serán devueltos con el fin de la última (la cola) a la primera (la cabeza).
Devoluciones:
un iterador sobre los elementos en este deque en orden inverso
import java.lang.reflect.Array;
class Deque
{
private int maxSize=100;
private final Item[] array;
private int front,rear;
private int numberOfItems;
public Deque()
{
array=(Item[])(new Object[maxSize]);
front=0;
rear=-1;
numberOfItems=0;
}
public boolean isEmpty()
{
return (numberOfItems==0);
}
public void addFirst(Item item)
{
if(front==0)
front=maxSize;
array[--front]=item;
numberOfItems++;
}
public void addLast(Item item)
{
if(rear==maxSize-1)
rear=-1;
array[++rear]=item;
numberOfItems++;
}
public Item removeFirst()
{
Item temp=array[front++];
if(front==maxSize)
front=0;
numberOfItems--;
return temp;
}
public Item removeLast()
{
Item temp=array[rear--];
if(rear==-1)
rear=maxSize-1;
numberOfItems--;
return temp;
}
public int getFirst()
{
return front;
}
public int getLast()
{
return rear;
}
public static void main(String[] args)
{
Deque
Deque
for(int i=0;i
{
String temp=element1.removeFirst();
System.out.println(temp);
}
}
catch(Exception ex)
{
System.out.println("End Of Execution due to remove from empty queue");
}
System.out.println();
for(int i=0;i
{
String temp=element2.removeLast();
System.out.println(temp);
}
}
catch(Exception ex)
{
System.out.println("End Of Execution due to remove from empty queue");
}
}
}
No hay comentarios:
Publicar un comentario