Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Java - Marco de colecciones

Antes de Java 2, Java proporcionaba clases ad hoc como Dictionary, Vector, Stack, y Propiedades almacenar y manipular grupos de objetos. Aunque estas clases fueron bastante útiles, carecían de un tema central unificador. Por lo tanto, la forma en que usó Vector fue diferente de la forma en que usó Propiedades.

El marco de las colecciones se diseñó para cumplir varios objetivos, como −

Con este fin, todo el marco de las colecciones está diseñado en torno a un conjunto de interfaces estándar. Varias implementaciones estándar como LinkedList, HashSet, y Conjunto de árboles , de estas interfaces se proporcionan para que las pueda usar tal cual y también puede implementar su propia colección, si lo desea.

Un marco de colecciones es una arquitectura unificada para representar y manipular colecciones. Todos los marcos de las colecciones contienen lo siguiente −

Además de las colecciones, el marco define varias clases e interfaces de mapa. Los mapas almacenan pares clave/valor. Aunque los mapas no son colecciones en el uso correcto del término, pero están totalmente integrados con las colecciones.

Las interfaces de la colección

El marco de las colecciones define varias interfaces. Esta sección proporciona una descripción general de cada interfaz −

Sr.No. Interfaz y descripción
1 La interfaz de la colección

Esto le permite trabajar con grupos de objetos; está en la parte superior de la jerarquía de colecciones.

2 La interfaz de lista

Esto amplía Colección y una instancia de List almacena una colección ordenada de elementos.

3 El conjunto

Esto amplía Collection para manejar conjuntos, que deben contener elementos únicos.

4 El conjunto ordenado

Esto amplía Set para manejar conjuntos ordenados.

5 El mapa

Esto asigna claves únicas a valores.

6 El Mapa.Entrada

Esto describe un elemento (un par clave/valor) en un mapa. Esta es una clase interna de Map.

7 El mapa ordenado

Esto extiende Map para que las claves se mantengan en orden ascendente.

8 La enumeración

Esta interfaz heredada define los métodos mediante los cuales puede enumerar (obtener uno a la vez) los elementos en una colección de objetos. Esta interfaz heredada ha sido reemplazada por Iterator.

Las clases de colección

Java proporciona un conjunto de clases de colección estándar que implementan interfaces de colección. Algunas de las clases brindan implementaciones completas que se pueden usar tal cual y otras son clases abstractas, que brindan implementaciones esqueléticas que se usan como puntos de partida para crear colecciones concretas.

Las clases de colección estándar se resumen en la siguiente tabla −

Sr.No. Clase y descripción
1

Colección Abstracta

Implementa la mayor parte de la interfaz de la Colección.

2

Lista de Resumen

Extiende AbstractCollection e implementa la mayor parte de la interfaz List.

3

Lista secuencial abstracta

Extiende AbstractList para que lo use una colección que usa acceso secuencial en lugar de aleatorio de sus elementos.

4 Lista enlazada

Implementa una lista enlazada al extender AbstractSequentialList.

5 Lista de matrices

Implementa una matriz dinámica al extender AbstractList.

6

Conjunto abstracto

Extiende AbstractCollection e implementa la mayor parte de la interfaz Set.

7 Conjunto hash

Extiende AbstractSet para usar con una tabla hash.

8 Conjunto de hash vinculado

Extiende HashSet para permitir iteraciones de orden de inserción.

9 Conjunto de árboles

Implementa un conjunto almacenado en un árbol. Extiende AbstractSet.

10

Mapa abstracto

Implementa la mayor parte de la interfaz del Mapa.

11 Mapa hash

Extiende AbstractMap para usar una tabla hash.

12 Mapa de árbol

Extiende AbstractMap para usar un árbol.

13 Mapa de hash débil

Extiende AbstractMap para usar una tabla hash con claves débiles.

14 Mapa de hash vinculado

Extiende HashMap para permitir iteraciones de orden de inserción.

15 IdentityHashMap

Amplía AbstractMap y utiliza la igualdad de referencias al comparar documentos.

AbstractCollection, AbstractSet, AbstractList, AbstractSequentialList y Mapa abstracto Las clases proporcionan implementaciones esqueléticas de las interfaces de la colección principal, para minimizar el esfuerzo requerido para implementarlas.

Las siguientes clases heredadas definidas por java.util se han discutido en el capítulo anterior:

Sr.No. Clase y descripción
1 Vector

Esto implementa una matriz dinámica. Es similar a ArrayList, pero con algunas diferencias.

2 Apilar

Stack es una subclase de Vector que implementa una pila estándar de último en entrar, primero en salir.

3 Diccionario

Dictionary es una clase abstracta que representa un depósito de almacenamiento de clave/valor y funciona de manera muy similar a Map.

4 tabla hash

Hashtable era parte del java.util original y es una implementación concreta de un Diccionario.

5 Propiedades

Properties es una subclase de Hashtable. Se utiliza para mantener listas de valores en las que la clave es una cadena y el valor también es una cadena.

6 Conjunto de bits

Una clase BitSet crea un tipo especial de matriz que contiene valores de bits. Esta matriz puede aumentar de tamaño según sea necesario.

Los algoritmos de recopilación

El marco de colecciones define varios algoritmos que se pueden aplicar a colecciones y mapas. Estos algoritmos se definen como métodos estáticos dentro de la clase Collections.

Varios de los métodos pueden lanzar una ClassCastException , que ocurre cuando se intenta comparar tipos incompatibles o una UnsupportedOperationException , que ocurre cuando se intenta modificar una colección no modificable.

Las colecciones definen tres variables estáticas:EMPTY_SET, EMPTY_LIST y EMPTY_MAP. Todos son inmutables.

Sr.No. Algoritmo y descripción
1 Los algoritmos de recopilación

Aquí hay una lista de todas las implementaciones del algoritmo.

¿Cómo utilizar un iterador?

A menudo, querrá recorrer los elementos de una colección. Por ejemplo, es posible que desee mostrar cada elemento.

La forma más fácil de hacer esto es emplear un iterador, que es un objeto que implementa la interfaz Iterator o ListIterator.

Iterator le permite recorrer una colección, obtener o eliminar elementos. ListIterator amplía Iterator para permitir el recorrido bidireccional de una lista y la modificación de elementos.

Sr.No. Método y descripción del iterador
1 Uso del iterador de Java

Aquí hay una lista de todos los métodos con ejemplos proporcionados por las interfaces Iterator y ListIterator.

¿Cómo usar un comparador?

Tanto TreeSet como TreeMap almacenan elementos ordenados. Sin embargo, es el comparador el que define con precisión qué orden ordenado significa.

Esta interfaz nos permite ordenar una colección dada de diferentes maneras. Además, esta interfaz se puede usar para ordenar cualquier instancia de cualquier clase (incluso las clases que no podemos modificar).

Sr.No. Método y descripción del iterador
1 Uso del comparador de Java

Aquí hay una lista de todos los métodos con ejemplos proporcionados por Comparator Interface.

Resumen

El marco de colecciones de Java brinda al programador acceso a estructuras de datos preempaquetadas, así como a algoritmos para manipularlos.

Una colección es un objeto que puede contener referencias a otros objetos. Las interfaces de colección declaran las operaciones que se pueden realizar en cada tipo de colección.

Las clases e interfaces del marco de las colecciones están en el paquete java.util.


Java

  1. Operadores Java
  2. Comentarios Java
  3. Java para cada bucle
  4. Cadenas Java
  5. Interfaz Java
  6. Clase anónima de Java
  7. Prueba de Java con recursos
  8. Anotaciones Java
  9. Aserciones de Java
  10. Tutorial de colecciones de C# con ejemplos
  11. Java - Marco de colecciones