Diferencia entre lista y conjunto

Tabla de contenido:

Diferencia entre lista y conjunto
Diferencia entre lista y conjunto

Video: Diferencia entre lista y conjunto

Video: Diferencia entre lista y conjunto
Video: Comparar dos listas con Excel 2024, Noviembre
Anonim

Diferencia clave: lista frente a conjunto

La mayoría de los lenguajes de programación utilizan matrices para almacenar un conjunto de datos del mismo tipo. Una desventaja importante de los arreglos es que, una vez que se declara el tamaño del arreglo, no se puede modificar. Si el programador desea almacenar valores que excedan el tamaño de la matriz, debe crear una nueva matriz y copiar los elementos existentes en la nueva matriz. En estas situaciones, se pueden utilizar colecciones. Es posible agregar elementos, eliminar elementos y muchas otras operaciones con el apoyo de las colecciones. Hay diferentes tipos de colecciones disponibles en lenguajes de programación como Java. List y Set son interfaces de jerarquía de colecciones. La interfaz base para otras interfaces es Collection. La diferencia clave entre List y Set es que List admite almacenar el mismo elemento varias veces, mientras que Set no admite almacenar el mismo elemento varias veces. Por lo tanto, un Conjunto no permite la duplicación.

¿Qué es la lista?

La lista es una interfaz que amplía la interfaz de la colección. Hay una serie de métodos en la interfaz de colección. El método add ayuda a agregar un elemento. El 'método de eliminación' es para eliminar un elemento. Existe el 'método addAll' para agregar múltiples elementos, mientras que el 'método removeAll' para eliminar los elementos de la colección. El método contains ayuda a encontrar si un objeto específico está presente en la Lista o no. El 'containsAll' es para encontrar si un conjunto de objetos está presente en la colección. El método iterador se utiliza para recorrer los elementos de la lista. Como List extiende Collection, todos los métodos de Collection pertenecen a List. Además de esos métodos, la lista tiene métodos como get y set. El programador puede obtener un valor en un índice específico usando el método get. El programador puede establecer un valor en un índice específico usando el método set. El 'indexOf' se usa para encontrar el índice de un elemento.

En una lista, las operaciones se pueden realizar según la posición. El programador puede proporcionar el elemento de datos que se agregará al índice. Por lo tanto, se agregará al índice específico. Si el programador no proporciona un índice, el elemento se agregará al final de la Lista. También mantiene el orden insertado. Si se agrega el elemento 1 y luego se agrega el elemento 2, entonces el elemento 1 estará antes del elemento 2.

Diferencia entre lista y conjunto
Diferencia entre lista y conjunto

Figura 01: Lista y Conjunto

ArrayList, LinkedList, Vector son algunas de las clases que implementan List. En un ArrayList, el acceso a un elemento es rápido, pero la inserción y eliminación es menor. ArrayList no es seguro para subprocesos. Es posible que acceder a la misma ArrayList desde varios subprocesos no dé el mismo resultado. En una LinkedList, los elementos están vinculados tanto hacia atrás como hacia adelante. Insertar y eliminar elementos usando LinkedList es más rápido que ArrayList. LinkedList implementa List y Queue Both. Vector es similar a ArrayList, pero es seguro porque todos los métodos están sincronizados.

¿Qué es Set?

Set es una interfaz que amplía la interfaz de Collection. Como la interfaz Set amplía Collection, todos los métodos de Collection también pertenecen a Set. Un conjunto no admite valores de duplicación. Por lo tanto, el programador no puede almacenar dos veces el mismo elemento. Mantiene un conjunto único de elementos. La interfaz SortedSet amplía la interfaz Set. SortedSet mantiene los elementos ordenados. La interfaz NavigableSet amplía SortedSet. NavigableSet proporciona métodos de navegación como inferior, piso, techo, etc.

HashSet, LinkedHashSet y TreeSet son algunas de las clases que implementan la interfaz Set. El HashSet implementa la interfaz Set. No mantiene el orden insertado. Si los valores se insertan como a, x, b, podría almacenarse como, x, a, b. El LinkedSet mantiene el orden insertado. Si los elementos se insertan en orden a, x, b, el orden de almacenamiento será a, x, b. TreeSet implementa Set y NavigableSet. No mantiene el orden de inserción pero almacena los elementos en el orden ordenado. Si el orden insertado es a, c, b, entonces los elementos se almacenarán como a, b, c. Todos los HashSet, LinkedHashSet y TreeSet no tendrán ningún elemento duplicado.

¿Cuáles son las similitudes entre lista y conjunto?

  • Las interfaces List y Set amplían la interfaz Collection.
  • Tanto List como Set admiten operaciones como agregar o quitar elementos.

¿Cuál es la diferencia entre lista y conjunto?

Lista vs Conjunto

List Interface es la subinterfaz de Collection que contiene métodos para realizar operaciones como insertar, eliminar según el índice. Set Interface es una subinterfaz de Collection que contiene métodos para realizar operaciones como insertar, eliminar elementos manteniendo los elementos únicos.
Clases
ArrayList, Vector y LinkedList son clases que implementan la interfaz List. HashSet, LinkedHashSet y TreeSet son clases que implementan la interfaz Set.
Duplicación de elementos
La lista admite la duplicación de elementos. Set no admite la duplicación de elementos. Los elementos son únicos.

Resumen: lista frente a conjunto

Las colecciones se utilizan para almacenar elementos de forma dinámica. Los lenguajes de programación como Java proporcionan una interfaz de colección. List y Set son dos interfaces que pertenecen a la interfaz Collection. Ambas interfaces amplían Collection. Este artículo discutió la diferencia entre Lista y Conjunto. La diferencia clave entre List y Set es que List admite almacenar el mismo elemento varias veces, mientras que Set no admite almacenar el mismo elemento varias veces. El conjunto siempre mantiene elementos únicos.

Recomendado: