Iterador vs Colección en Java

Iterator y Collection , ambos han ayudado y consolado a los programadores en muchas ocasiones. Pero el uso y la aplicación tienen una diferencia muy amplia. 

1. Iterador 

  • Declaración 
public interface Iterator

Type Parameters:
E - the type of elements returned by this iterator
  • Los iteradores se utilizan en el marco de la colección en Java para recuperar elementos uno por uno. 
  • Resumen del método 
Modificador y Tipo Método Descripción
vacío predeterminado forEachRemaining(Consumidor<? super E> acción) Realiza la acción dada para cada elemento restante hasta que se hayan procesado todos los elementos o la acción genere una excepción.
booleano tieneSiguiente() Devuelve verdadero si la iteración tiene más elementos.
mi Siguiente() Devuelve el siguiente elemento de la iteración.
vacío predeterminado retirar() Elimina de la colección subyacente el último elemento devuelto por este iterador (operación opcional).

2. Colección 

  • Declaración: 
public interface Collection<E> extends Iterable<E>

Type Parameters:
E - the type of elements returned by this iterator
  • Una colección es un grupo de objetos individuales representados como una sola unidad. Java proporciona Collection Framework que define varias clases e interfaces para representar un grupo de objetos como una sola unidad. 
  • Resumen del método 
Modificador y Tipo Método Descripción
booleano añadir (E mi) Garantiza que esta colección contenga el elemento especificado (operación opcional).
booleano addAll(Colección<? extiende E> c) Agrega todos los elementos de la colección especificada a esta colección (operación opcional).
vacío clear() Elimina todos los elementos de esta colección (operación opcional).
booleano contiene(Objeto o) Devuelve verdadero si esta colección contiene el elemento especificado.
booleano contieneTodo(Colección<?> c) Devuelve verdadero si esta colección contiene todos los elementos de la colección especificada.
booleano es igual a (Objeto o) Compara el objeto especificado con esta colección para la igualdad.
En t código hash() Devuelve el valor del código hash para esta colección.
booleano esta vacio() Devuelve verdadero si esta colección no contiene elementos.
Iterador<E> iterador() Devuelve un iterador sobre los elementos de esta colección.
secuencia predeterminada<E> flujoParalelo() Devuelve un Stream posiblemente paralelo con esta colección como fuente.
booleano quitar(Objeto o) Elimina una sola instancia del elemento especificado de esta colección, si está presente (operación opcional).
booleano removeAll(Colección<?> c) Elimina todos los elementos de esta colección que también están contenidos en la colección especificada (operación opcional).
booleano predeterminado removeIf(Predicado<? super E> filter) Elimina todos los elementos de esta colección que satisfacen el predicado dado.
booleano retenerTodo(Colección<?> c) Retiene solo los elementos de esta colección que están contenidos en la colección especificada (operación opcional).
En t Talla() Devuelve el número de elementos de esta colección.
Separador predeterminado<E> divisor() Crea un Spliterator sobre los elementos de esta colección.
secuencia predeterminada<E> corriente() Devuelve un Stream secuencial con esta colección como fuente.
Objeto[] aArray() Devuelve una array que contiene todos los elementos de esta colección.
T[] aArray(T[] a) Devuelve una array que contiene todos los elementos de esta colección; el tipo de tiempo de ejecución de la array devuelta es el de la array especificada.

Iterador vs. Recopilación  

  • El iterador solo puede moverse al siguiente() elemento o eliminar() un elemento. 
    Sin embargo, Collection puede agregar() , iterar, eliminar() o clear() los elementos de la colección. 
  • Iterator proporciona una mejor velocidad que Collections, ya que la interfaz de Iterator tiene un número limitado de operaciones. 
  • java.sql.SQLException extiende Iterable . Por lo tanto, permite a la persona que llama iterar de forma segura sobre las causas de SQLException. 
    Usar una colección, en este caso, sería costoso porque, en una string de n excepciones, el uso de una colección en la interfaz SQLException podría requerir la construcción de O(n^2) elementos. 
    Sin embargo, el uso de Iterable proporciona acceso O(n) a la string de excepciones. 
     

Publicación traducida automáticamente

Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *