La mayoría de los lenguajes de programación utilizan matrices para almacenar un conjunto de datos del mismo tipo. Un inconveniente importante de las matrices es que, una vez que se declara el tamaño de la matriz, 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, las colecciones pueden ser utilizadas. Es posible agregar elementos, eliminar elementos y muchas otras operaciones con el soporte de colecciones. Hay diferentes tipos de colecciones disponibles en lenguajes de programación como Java. Lista y conjunto son interfaces de jerarquía de colecciones. La interfaz base para otras interfaces es Colección. los diferencia clave entre lista y conjunto es que La lista 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..
1. Resumen y diferencia clave
2. Que es la lista
3. Lo que se establece
4. Similitudes entre lista y conjunto
5. Comparación lado a lado - Lista vs conjunto en forma tabular
6. Resumen
La lista es una interfaz que amplía la interfaz de 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 eliminar' es eliminar un elemento. Existe el 'método AddAll' para agregar varios elementos, mientras que el 'método eliminar todo' para eliminar los elementos de la colección. El método contiene ayuda a encontrar si un objeto específico está presente en la Lista o no. El 'contiene todos' es para determinar si un conjunto de objetos están presentes en la colección. El método del iterador se utiliza para recorrer los elementos de la lista. A medida que la Lista amplía la Colección, todos los métodos de Colección pertenecen a la Lista. Aparte de esos métodos, la Lista tiene métodos como obtener y establecer. El programador puede obtener un valor en un índice específico utilizando el método get. El programador puede establecer un valor en un índice específico utilizando el método establecido. El 'indexOf' se utiliza para encontrar el índice de un elemento.
En una lista, las operaciones se pueden realizar de acuerdo con la posición. El programador puede proporcionar el elemento de datos que se agregará al índice. Así que se añadirá 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 element2, entonces element1 será anterior a element2.
Figura 01: Lista y conjunto
ArrayList, LinkedList, Vector son algunas clases que implementan List. En un ArrayList, acceder a un elemento es rápido, pero la inserción y eliminación es menor. ArrayList no es seguro para subprocesos. El acceso a la misma ArrayList desde varios subprocesos podría no dar el mismo resultado. En una lista enlazada, los elementos están vinculados tanto hacia atrás como hacia adelante. Insertar y eliminar elementos utilizando una lista enlazada es más rápido que la lista de arreglos. La lista enlazada implementa tanto la lista como la cola. Vector es similar a ArrayList, pero es seguro para la banda de rodadura porque todos los métodos están sincronizados.
Set es una interfaz que amplía la interfaz de colección. Como la interfaz de Set amplía la Colección, todos los métodos de Colección también pertenecen a Set. Un conjunto no admite valores de duplicación. Por lo tanto, el programador no puede almacenar el mismo elemento dos veces. Mantiene un conjunto único de elementos. La interfaz SortedSet extiende la interfaz Set. SortedSet mantiene los elementos ordenados. La interfaz NavigableSet extiende SortedSet. El NavigableSet proporciona métodos de navegación tales como inferior, piso, techo, etc..
HashSet, LinkedHashSet y TreeSet son algunas clases que implementan la interfaz Set. los HashSet Implementa la interfaz del set. No mantiene el pedido insertado. Si los valores se insertan como a, x, b, se puede almacenar como, x, a, b. los LinkedSet Mantiene el pedido insertado. Si los elementos se insertan en orden a, x, b, el orden de almacenamiento será a, x, b. los 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. All HashSet, LinkedHashSet y TreeSet no tendrán ningún elemento duplicado.
Lista vs conjunto | |
List Interface es la sub interfaz de Collection que contiene métodos para realizar operaciones como insertar, eliminar según el índice.. | Set Interface es una sub interfaz de Collection que contiene métodos para realizar operaciones como insertar, eliminar elementos y mantener los elementos únicos.. |
Las clases | |
ArrayList, Vector y LinkedList son clases que implementan la interfaz de lista. | HashSet, LinkedHashSet y TreeSet son clases que implementan la interfaz Set.. |
Duplicacion de elementos | |
Lista soporta duplicación de elementos.. | Set no soporta duplicación de elementos. Los elementos son unicos. |
Las colecciones se utilizan para almacenar elementos dinámicamente. Los lenguajes de programación como Java proporcionan interfaz de colección. Lista y conjunto son dos interfaces que pertenecen a la interfaz de colección. Ambas interfaces amplían la colección. Este artículo discutió la diferencia entre Lista y Conjunto. La diferencia clave entre Lista y Conjunto es que la Lista admite almacenar el mismo elemento varias veces, mientras que la Configuración no admite el almacenamiento del mismo elemento varias veces. Set mantiene siempre elementos únicos..
1.Point, Tutoriales. "Colecciones Java"., Punto de tutoriales, 8 de enero de 2018. Disponible aquí