Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Java - Framework de coleções


Antes do Java 2, o Java fornecia classes ad hoc como Dictionary, Vector, Stack, e Propriedades para armazenar e manipular grupos de objetos. Embora essas aulas fossem bastante úteis, elas careciam de um tema central e unificador. Assim, a maneira como você usou Vector foi diferente da maneira como você usou Propriedades.

A estrutura de coleções foi projetada para atender a vários objetivos, como −

Para este fim, toda a estrutura de coleções é projetada em torno de um conjunto de interfaces padrão. Várias implementações padrão, como LinkedList, HashSet, e Árvore , dessas interfaces são fornecidas para que você possa usar no estado em que se encontra e também pode implementar sua própria coleção, se desejar.

Uma estrutura de coleções é uma arquitetura unificada para representar e manipular coleções. Todos os frameworks de coleções contêm o seguinte −

Além das coleções, a estrutura define várias interfaces e classes de mapas. Os mapas armazenam pares de chave/valor. Embora os mapas não sejam coleções no uso adequado do termo, mas estão totalmente integrados às coleções.

As interfaces de coleção


A estrutura de coleções define várias interfaces. Esta seção fornece uma visão geral de cada interface -
Nº Sr. Interface e descrição
1 A interface da coleção
Isso permite trabalhar com grupos de objetos; está no topo da hierarquia de coleções.
2 A interface da lista
Isso estende a Coleção e uma instância de List armazena uma coleção ordenada de elementos.
3 O conjunto
Isso estende Collection para manipular conjuntos, que devem conter elementos exclusivos.
4 O SortedSet
Isso estende Set para lidar com conjuntos ordenados.
5 O mapa
Isso mapeia chaves exclusivas para valores.
6 O Mapa.Entrada
Isso descreve um elemento (um par chave/valor) em um mapa. Esta é uma classe interna de Map.
7 O Mapa Ordenado
Isso estende Map para que as chaves sejam mantidas em ordem crescente.
8 A enumeração
Esta interface legada define os métodos pelos quais você pode enumerar (obter um de cada vez) os elementos em uma coleção de objetos. Essa interface legada foi substituída pelo Iterator.

As Aulas de Coleção


Java fornece um conjunto de classes de coleção padrão que implementam interfaces de coleção. Algumas das classes fornecem implementações completas que podem ser usadas como estão e outras são classes abstratas, fornecendo implementações esqueléticas que são usadas como pontos de partida para a criação de coleções concretas.

As classes de coleção padrão estão resumidas na tabela a seguir -
Nº Sr. Classe e Descrição
1
Coleção de Resumos

Implementa a maior parte da interface Collection.
2
Lista de Resumos

Estende AbstractCollection e implementa a maior parte da interface List.
3
ResumoSequentialList

Estende AbstractList para uso por uma coleção que usa acesso sequencial em vez de aleatório de seus elementos.
4 Lista de links
Implementa uma lista vinculada estendendo AbstractSequentialList.
5 Lista de Matriz
Implementa uma matriz dinâmica estendendo AbstractList.
6
Conjunto de Resumos

Estende AbstractCollection e implementa a maior parte da interface Set.
7 HashSet
Estende o AbstractSet para uso com uma tabela de hash.
8 LinkedHashSet
Estende HashSet para permitir iterações de pedidos de inserção.
9 Conjunto de Árvore
Implementa um conjunto armazenado em uma árvore. Estende AbstractSet.
10
Mapa abstrato

Implementa a maior parte da interface Map.
11 HashMap
Estende o AbstractMap para usar uma tabela de hash.
12 Mapa de árvore
Estende o AbstractMap para usar uma árvore.
13 WeakHashMap
Estende o AbstractMap para usar uma tabela de hash com chaves fracas.
14 LinkedHashMap
Estende o HashMap para permitir iterações de pedidos de inserção.
15 IdentityHashMap
Estende AbstractMap e usa igualdade de referência ao comparar documentos.

A AbstractCollection, AbstractSet, AbstractList, AbstractSequentialList e Mapa abstrato classes fornecem implementações esqueléticas das interfaces da coleção principal, para minimizar o esforço necessário para implementá-las.

As seguintes classes legadas definidas por java.util foram discutidas no capítulo anterior −
Nº Sr. Classe e Descrição
1 Vetor
Isso implementa uma matriz dinâmica. É semelhante ao ArrayList, mas com algumas diferenças.
2 Pilha
Stack é uma subclasse de Vector que implementa uma pilha padrão de último a entrar, primeiro a sair.
3 Dicionário
Dicionário é uma classe abstrata que representa um repositório de armazenamento de chave/valor e opera de maneira semelhante ao Map.
4 Tabela de hash
Hashtable fazia parte do java.util original e é uma implementação concreta de um dicionário.
5 Propriedades
Propriedades é uma subclasse de Hashtable. Ele é usado para manter listas de valores em que a chave é uma String e o valor também é uma String.
6 BitSet
Uma classe BitSet cria um tipo especial de matriz que contém valores de bits. Essa matriz pode aumentar de tamanho conforme necessário.

Os algoritmos de coleção


A estrutura de coleções define vários algoritmos que podem ser aplicados a coleções e mapas. Esses algoritmos são definidos como métodos estáticos dentro da classe Collections.

Vários dos métodos podem lançar uma ClassCastException , que ocorre quando é feita uma tentativa de comparar tipos incompatíveis ou uma UnsupportedOperationException , que ocorre quando é feita uma tentativa de modificar uma coleção não modificável.

As coleções definem três variáveis ​​estáticas:EMPTY_SET, EMPTY_LIST e EMPTY_MAP. Todos são imutáveis.
Nº Sr. Algoritmo e descrição
1 Os algoritmos de coleção
Aqui está uma lista de toda a implementação do algoritmo.

Como usar um iterador?


Muitas vezes, você desejará percorrer os elementos de uma coleção. Por exemplo, você pode querer exibir cada elemento.

A maneira mais fácil de fazer isso é empregar um iterador, que é um objeto que implementa a interface Iterator ou ListIterator.

O Iterator permite percorrer uma coleção, obtendo ou removendo elementos. ListIterator estende Iterator para permitir a passagem bidirecional de uma lista e a modificação de elementos.
Nº Sr. Método e descrição do iterador
1 Usando Java Iterator
Aqui está uma lista de todos os métodos com exemplos fornecidos pelas interfaces Iterator e ListIterator.

Como usar um comparador?


Tanto TreeSet quanto TreeMap armazenam elementos em uma ordem de classificação. No entanto, é o comparador que define precisamente qual ordem de classificação significa.

Essa interface nos permite classificar uma determinada coleção de várias maneiras diferentes. Além disso, essa interface pode ser usada para classificar qualquer instância de qualquer classe (mesmo classes que não podemos modificar).
Nº Sr. Método e descrição do iterador
1 Usando o comparador Java
Aqui está uma lista de todos os métodos com exemplos fornecidos pela Interface Comparator.

Resumo


A estrutura de coleções Java dá ao programador acesso a estruturas de dados pré-empacotadas, bem como a algoritmos para manipulá-las.

Uma coleção é um objeto que pode conter referências a outros objetos. As interfaces de coleção declaram as operações que podem ser executadas em cada tipo de coleção.

As classes e interfaces do framework de coleções estão no pacote java.util.

Java

  1. Operadores Java
  2. Comentários Java
  3. Java para cada loop
  4. Strings Java
  5. Interface Java
  6. Classe anônima Java
  7. Java try-with-resources
  8. Anotações Java
  9. Asserções Java
  10. Tutorial de coleções de C# com exemplos