Diferencia entre conjunto y lista

Diferencia entre la lista de matrices y la lista enlazada

Antes de entrar en las diferencias reales, aclaremos cuáles son realmente.

¿Qué es un conjunto?

Nos encontramos con el concepto de Conjunto en matemáticas y el Conjunto aquí significa más o menos lo mismo. Sí, es una colección de elementos y, en la mayoría de los casos, una colección de elementos similares. Puede experimentar agregando estos elementos a un conjunto e imprimir una prueba para comprender cómo se almacena realmente.

Entrada a configurar: 20, 50, 10, 30.

En realidad, se almacena en Set como 10, 20, 30, 50.

Los elementos se ordenan aquí y no se almacenan en su orden de inserción. Esta es una de las características de Set que siempre ordena los elementos antes del almacenamiento y, por supuesto, hay excepciones y una de ellas es LinkedhashSet porque mantiene el orden de inserción de los elementos.

En términos informáticos, no hay muchas propiedades adicionales como Métodos y Herencia en el Conjunto. Los métodos son como funciones y realizan ciertas tareas como sumar, restar o iterar a través de la matriz de elementos. La mayoría de nosotros estamos familiarizados con el término Herencia y significa lo mismo aquí. Sí, podemos heredar un Método de su Colección, para que pueda usarse con la Interfaz Setter. Una vez más, estamos hablando de un nuevo término, es decir, la interfaz de conjunto, y no es más que el conjunto completo de elementos, incluidos los métodos.

¿Cómo implementarlo?

Para una mejor comprensión, hemos representado un Conjunto con su Sintaxis. A partir de la siguiente sintaxis, podría reconocer los diferentes tipos de Set, como HashSet y TreeSet.

importar java.util.*;

clase pública SetExample {

public static void main(String args[]) {

conteo de enteros[] = {34, 22,10,60,30,22}{25, 17, 76, 12, 88, 57};

Configurar conjunto = nuevo HashSet();

intentalo {

para(int i = 0; i < 5; i++) {

asentarse. agregar (contar[i]);

}

Sistema.fuera.println(establecer);

TreeSet sortedSeteg = nuevo TreeSet(establecer);

System.out.println(«Aquí está la salida ordenada:»);

System.out.println(conjuntoordenado);

System.out.println(“Mira el primer elemento: “+ (Integer)sortedSet.first());

System.out.println(“Mira el último elemento: “+ (Integer)sortedSet.last());

}

catch(Excepción e) {}

}

}

A continuación se muestra la salida del código anterior.

[25, 17, 76, 12, 88]

Aquí hemos ordenado la salida:
[12, 17, 25, 76, 88]

Ver Primer elemento: 12
Mira el último elemento: 88

¿Qué es una Lista?

Una Lista extiende una Colección de manera similar a como lo hizo un Conjunto, pero mantiene el orden de inserción. Intente agregar los siguientes nombres a una lista y vea cómo se agrega.

La entrada a List: John, Nancy, Mary, Alice.

Cómo se almacena en una Lista: John, Nancy, Mary, Alice.

Tenga en cuenta el orden en que se ingresan. Puede reconocer que ‘John’ es el primer elemento tanto en la entrada como en la salida y sigue en el mismo orden en que se ingresan los nombres. Incluso podemos considerar esta como una de las principales propiedades de una Lista.

¿Cómo implementarlo?

Veamos algunos de los métodos List como ArrayList y LinkedList en la siguiente sintaxis.

importar java.util.*;
instancia de colección de clase pública {

public static void main(String[] argumentos) {

Lista a1 = new ArrayList();
a1.add(«Juan»);
a1.add(«Nancy»);
a1.add(“María”);
a1.add(«Alicia»);
System.out.println(«Los elementos son ArrayList»);
Sistema.out.print(«\t» + a1);

Lista l1 = nueva Lista Vinculada ();
l1.add(«Silvia»);
l1.add(“Arjun”);
l1.add(“Deepika”);
l1.add(«Susana»);
Sistema.salida.println();
System.out.println(«Los elementos son LinkedList»);
Sistema.out.print(«\t» + l1); }}

El siguiente es el resultado de la sintaxis anterior.

Los elementos son ArrayList

[John, Nancy, Mary, Alice]

Elementos LinkedList

[Silvia, Arjun, Deepika, Susan]

Está muy claro del código anterior que tanto ArrayList como LinkedList mantienen el orden de inserción.

¿Cómo se diferencian?

  • Métodos y descripción:

El Conjunto y la Lista tienen sus propios métodos y veamos algunos de ellos aquí.

S.NoConjunto – MétodosLista – Métodos
1.agregar() – Es para añadir objetos a una colección.vacío (índice int, Objeto obj) – Coloca el objeto ‘obj’ en el ‘índice’ especificado de la lista de invocación y garantiza que ningún elemento se sobrescriba al mover los elementos anteriores.
2.claro() – Es para eliminar objetos de una colección.booleano addAll(índice int, Colección c) – Agrega la colección completa ‘c’ a la lista invocada y en el ‘índice’ especificado. También garantiza que no se sobrescriba ningún elemento. También podemos comprobar la corrección de su funcionamiento examinando el valor de retorno. Devuelve ‘verdadero’ si el cambio es exitoso; de lo contrario, devuelve el valor ‘falso’.
3.sí () – Es para comprobar si existe un elemento determinado en el conjunto. Devuelve un valor ‘verdadero’ si el objeto está presente en el Conjunto.Obtener objeto (índice int) – Devuelve el elemento u objeto en el ‘índice’ especificado.
4.esta vacio() – Es su decisión si la colección le ayuda porque no hay elementos. Devuelve un valor ‘verdadero’ si no hay ningún elemento.int lastIndexOf(Objeto objeto) – Funciona como invertir el índice() Método. Devuelve la última aparición del Objeto ‘obj’ especificado y devuelve un valor de ‘1’ si no hay tal objeto en la lista. Por lo tanto, también se puede utilizar como sí () Método de interfaz de configuración.
6.retirar() – Consiste en eliminar un elemento de una colección especificándolo como parámetro del método.ListIterator listIterator() – Devuelve un iterador al índice inicial de la Lista.
7.Talla() – Contar el número de objetos o elementos de una colección.ListIterator listIterator(índice int) – Ayuda a iterar a través de la Lista invocada comenzando en el ‘índice’ especificado.
8.Eliminar objeto (índice int) – Elimina el objeto en el ‘índice’ especificado y devuelve el elemento eliminado como resultado. También reduce los índices de lista resultantes para reflejar la eliminación.
9.Conjunto de objetos (índice int, objeto objeto) – Es para asignar el Objeto ‘objeto’ a la lista invocada en el ‘índice’ especificado.
10Sublista de lista (inicial, entero) – Los objetos desde el índice ‘inicio’ hasta el índice ‘final’ se incluyen en la lista utilizada por el Método.
  • Insertar orden de mantenimiento:

El Conjunto no mantiene el orden de los elementos en los que se insertan, pero la Lista sí. Hay una excepción a esta regla para LinkedHashSet, ya que mantiene el orden de inserción, mientras que otros conjuntos, como HashSet y TreeSet, ordenan los elementos antes de almacenarlos. Lo mismo se describe con ejemplos a continuación.

Conjunto de entrada: gato, muñeca, manzana.

Almacenado como: Apple, Cat, Doll.

Entrada de lista: gato, muñeca, manzana.

Almacenado como: Gato, Muñeca, Manzana.

  • Presencia duplicada:

Un Conjunto nunca permite la duplicación, pero una Lista sí. Si es necesario agregar un valor duplicado a una lista, se sobrescribirá. Consulte los ejemplos de conjuntos y listas duplicados.

Conjunto de entrada: 10, 20, 20, 50.

Almacenado como: 10, 20, 50.

Entrada de lista: 10, 20, 20, 50.

Almacenado como: 10, 20, 20, 50.

  • Valores independientes:

Un conjunto puede tener solo un valor nulo, mientras que una lista puede tener más de un valor nulo y no está limitada a ningún número.

Conjunto de entrada: nulo, nulo, Hombre, Perro, Avión.

Almacenado como: nulo, Perro, Hombre, Avión.

Entrada de lista: nulo, nulo, Hombre, Perro, Avión.

Almacenado como: nulo, nulo, Hombre, Perro, Avión.

  • Use Iterador y ListIterator:

El método Iterator funciona bien tanto con Set como con List, pero el método ListIterator solo funciona con List. El ListIterator se puede usar para avanzar y retroceder a través de la Lista.

  • Presencia de clase de herencia:

El Conjunto no tiene una clase heredada, pero la interfaz Lista tiene una herencia llamada ‘vector’. Un vector usa la interfaz List y por lo tanto mantiene el orden de inserción. Debido a los esfuerzos de sincronización, el rendimiento del vector en adiciones, eliminaciones y actualizaciones se retrasa ligeramente.

  • Aplicado:

Algunas de las implementaciones de Set son HashSet, LinkedHashSet y TreeSet. ArrayList y LinkedList no están incluidos en una pequeña parte de la implementación de List.

¿Cuándo se debe usar Set & List?

El uso de Set y List depende completamente del requisito de mantener la orden de entrada. Debido a que hemos aprendido que Set nunca conserva el orden de inserción, se puede usar cuando el orden es menos importante. Del mismo modo, use la Lista cuando también necesite mantener el orden de inserción.

Diferencias en forma tabular:

S.NoDiferencias yoConfigurarLista
1.Orden de InterferenciaMantiene el orden. El primero insertado permanece primero y así independientemente de su valor.No mantiene el orden.
2.MétodosUtiliza métodos como add(), clear(), contains(), isEmpty(), remove() y size().Utiliza métodos como add(), addAll(), get(), lastIndexOf(), ListIterator() con o sin parámetros, remove(), set() y subList().
3.DuplicarNunca permite duplicados y en caso de que ocurran, el valor se sobrescribe.Permite la duplicación.
4.Valores nulosSólo puede tener un valor cero en el valor máximo.Puede tener cualquier número de valores cero.
5.Usa Iterator() & listIterator()Simplemente usa el método iterar().Utiliza iterator() así como listIterator().
6.Clase de presencia de herenciaNo hay clase de herencia.Es una clase de herencia conocida como vector.
7.ImplementadoAlgunas de las funciones de interfaz Set HashSet, LinkedHashSet y Tree Set.LinkedList y ArrayList son algunas de las funciones de la interfaz List.

Con suerte, hemos tenido en cuenta todas las posibles diferencias entre el Conjunto y la Lista. Si cree que nos hemos perdido algo, háganoslo saber.

Descubre también la:  Diferencia entre condensadores e inductores.

Wlip.es

Somos entusiastas de la tecnología, la ciencia y sus avances. Nuestra curiosidad nunca se sacia y por eso intentamos investigar y conocer cada día más cosas. Te traemos las diferencias más curiosas sobre conceptos, cosas y mucho más.

Deja una respuesta

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