Diferencia entre lista y conjunto en Java

Autor: Laura McKinney
Fecha De Creación: 2 Abril 2021
Fecha De Actualización: 13 Mayo 2024
Anonim
Java Set vs List
Video: Java Set vs List

Contenido


La interfaz List and Set extiende la colección. Ambos mantienen la colección de elementos u objetos. Pero, la principal diferencia que los distingue entre sí es List es una colección de elementos ordenados, los elementos se agregan o eliminan o se accede a ellos con la ayuda de una variable de índice. Por otro lado, Set es una colección de objetos donde la colección no permite elementos duplicados. Estudiemos algunas diferencias más entre las interfaces List y Set con la ayuda del cuadro de comparación que se muestra a continuación.

  1. Cuadro comparativo
  2. Definición
  3. Diferencias clave
  4. Conclusión

Cuadro comparativo

Bases para la comparaciónLista Conjunto
BásicoLista mantiene la secuencia de los elementos almacenados en una lista.Set no mantiene particularmente el orden de inserción, pero Linked HashSet mantiene el orden de inserción.
DuplicaciónLa lista puede tener elementos duplicados en ella.El método add () devuelve falso si intenta insertar los elementos duplicados.
MétodosAdemás de los métodos definidos en Collection, List define algunos de sus propios métodos.Set no define ningún método adicional.
Implementación La lista está implementada por ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.El conjunto está implementado por HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.


Definición de lista

La interfaz de lista amplía la interfaz de colección. Una lista es una colección ordenada de elementos u objetos. A diferencia de Set, List puede contener elementos duplicados. Además de los métodos definidos en la Lista de colecciones, define algunos métodos propios, como los métodos get () y set () basados ​​en índices. Los métodos add () y remove () heredados de Collection que agregan o eliminan el elemento especificado del índice especificado en el argumento del método. La lista es un tipo de matriz cuyo tamaño aumenta a medida que agregamos elementos a la lista.

Lista no define ningún método para operar en el rango de índices en una lista. Define un método sublist () que devuelve una sublista de la lista original de un rango especificado. Los cambios que realice en la sublista también aparecen en la lista original. La interfaz de lista está implementada por ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.


Definición de conjunto

Establecer interfaz amplía la interfaz Colección. Establecer interfaz es una colección o un grupo de objetos que no contiene ningún objeto duplicado. Eso significa que dos referencias no pueden referirse a un objeto, o una referencia no puede referirse a dos objetos, o no puede haber dos referencias que se refieran a Null. El orden o la secuencia del elemento no es un conjunto importante, pero no es que prohíba el conjunto ordenado.

Establecer interfaz no define ningún método además del método definido en la Colección. En cambio, restringe los métodos de colección add () y addall () para agregar cualquier objeto duplicado en una colección. Si intenta agregar cualquier objeto duplicado en una colección usando el método add () de Collection, devuelve false. De lo contrario, devuelve verdadero. La interfaz de configuración está implementada por HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.

  1. La secuencia de elementos / objeto en una colección se mantiene en List mientras que Set no mantiene el orden de los elementos pero existe una excepción LinkedHashSet que mantiene el orden de inserción.
  2. La lista puede tener elementos duplicados, ya que identifica cualquier elemento con su índice, pero Set no permite que ningún elemento duplicado, ya que no tiene ningún tipo de elemento de índice, identifique ningún objeto en una colección.
  3. List define algunos métodos por sí mismo, además de los métodos definidos en Collection. Por otro lado, Set no define ningún método propio, pero restringe los métodos de Colección para agregar elementos duplicados.
  4. La lista está implementada por las interfaces ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack. Por otro lado, Set está implementado por las interfaces HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.

Conclusión:

El uso de la interfaz List and Set depende del requisito. Si el orden de los objetos / elementos es importante, debe usar la interfaz de Lista. Si no necesita elementos duplicados en su colección, debe usar Establecer interfaz