Latest web development tutorials

Java Collections Framework

Muito antes em Java 2, Java fornece categoria ad hoc. Por exemplo: as classes Dictionary, Vector, pilha e propriedades usadas para armazenar e manipular grupos de objectos.

Embora estas classes são muito úteis, mas eles não têm um tema central, unificador. Por esta razão, use a classe maneira Vector e usar a classe Propriedades tem uma maneira muito diferente.

Framework coleções é projetado para atender os seguintes objetivos.

  • A estrutura deve ser elevado desempenho. O conjunto básico (matrizes dinâmicas, listas ligadas, árvores, tabelas de hash) implementação também deve ser eficiente.
  • A estrutura permite a diferentes tipos de conjuntos, de um modo semelhante com um elevado grau de interoperabilidade.
  • Extensão e adaptação de uma coleção deve ser simples.

Para este fim, toda a estrutura de coleta é projetado em torno de um conjunto de interfaces padrão. Você pode usar essas interfaces padrão para alcançar, tais como: LinkedList, HashSet, TreeSet e similares, além disso você também pode implementar sua própria coleção através destas interfaces.

estrutura das coleções é uma arquitetura unificada usado para representar e manipular coleções. Todos quadro coleções contém o seguinte:

  • Interface: É um tipo de dado abstrato representa coleção. Interface permite a manipulação independente dos detalhes de cobrança de seus representantes. Em linguagens orientadas a objetos, as interfaces geralmente formam uma hierarquia.
  • Implementação (classe): é a realização de um conjunto de interfaces. Essencialmente, eles são estruturas de dados reutilizáveis.
  • Algoritmo: algum objeto computacional útil que implementa a interface no método de recolha de realizar, por exemplo: pesquisa e classificação. Esses algoritmos são chamados de multi-estado, é porque o mesmo método pode ter diferentes implementações em uma interface similar.

Além da coleção, o quadro também define várias interfaces Mapa e classes. Mapa é armazenada em pares de chave / valor. Apesar Mapa não coleções, mas eles são totalmente integrados na coleção.


Interfaces de coleta

estrutura de coleta define uma série de interfaces. Esta seção fornece uma visão geral de cada interface:

Não. Interface Descrição
1 interface de coleta permite que você use um grupo de objetos, é a hierarquia de raiz interface de coleta.
2 Os elementos da interface lista herdada de Recolha e uma instância de lista de armazenar uma coleção ordenada.
3 definir
Herdado de Collection, é uma coleção que não contém elementos duplicados.
4 SortedSet
Situado em uma sucessão ordenada para salvar o conjunto.
5 mapa
Os únicos mapas chaves para valores.
6 Map.Entry
Um elemento descrição (pares chave / valor) em um mapa. Mapa é uma classe interna.
7 SortedMap
Herdado do Mapa, então Key realizada em ordem crescente.
8 enumeração
Esta é uma definição tradicional de interfaces e métodos pelos quais você pode enumerar (uma vez obtida a) objetos nas coleções. Esta tradição foi substituída pela iteração de interface.

Colecções

Java fornece um conjunto de padrão classe implementa a interface Collection. Alguns deles são classes específicas que podem usá-lo, enquanto outros são classes abstratas, fornece uma implementação parcial da interface.

classes de colecção padrão encontram-se resumidos na tabela seguinte:

Não. classe Descrição
1 AbstractCollection
Para atingir a maioria das interfaces de cobrança.
2 AbstractList
Herança em AbstractCollection e alcançou a maior parte da interface List.
3 AbstractSequentialList
Herdado de AbstractList, ele fornece acesso a elementos de dados na cadeia em vez de acesso aleatório.
4 LinkedList
Herdado de AbstractSequentialList, ele implementa uma lista vinculada.
5 ArrayList
Através AbstractList herança, matrizes dinâmicas.
6 AbstractSet
Herança em AbstractCollection e alcançou maior parte da interface Set.
7 HashSet
Ele herdou AbstractSet, e utilizar uma tabela hash.
8 LinkedHashSet
Com ordem de iteração previsível e ligada lista de hash de interface Set mesa.
9 TreeSet
Herdado de AbstractSet, usando elementos da ordem natural dos elementos em ordem.
10 AbstractMap
Para atingir a maior parte da interface Map.
11 HashMap
HashMap é uma tabela hash, que armazena o conteúdo de pares chave-valor (key-value) de mapeamento.
HashMap herdou AbstractMap, percebeu interface Map, Cloneable, java.io.Serializable.
12 TreeMap
Ele herdou AbstractMap, e o uso de uma árvore.
13 WeakHashMap
Herdado da classe AbstractMap, use uma tabela hash chaves fracas.
14 LinkedHashMap
Herdado de HashMap, usando os elementos da ordem natural dos elementos a serem classificados.
15 IdentityHashMap
herança de classe AbstractMap, usando Referência de igualdade ao comparar documentos.

No tutorial anterior, foram discutidos por classes java.Util definidos no pacote, como segue:

Não. classe Descrição
1 vetor
classe Vector implementa uma matriz dinâmica. E ArrayList e similares, mas os dois são diferentes.
2 pilha
Pilha é uma subclasse de vetor, o qual implementa uma pilha LIFO padrão.
3 dicionário
classe Dictionary é uma classe abstrata que é usado para armazenar pares de chave / valor, semelhante a uma ação de classe e Mapa.
4 Hashtable
Hashtable é parte do java.util original é uma implementação concreta dicionário.
5 propriedades
Propriedades herda de Hashtable. Representa um conjunto persistente de propriedades. Cada chave e seu valor correspondente na lista de propriedades é uma string.
6 BitSet
Uma classe bitset cria um tipo especial de matriz para armazenar o valor do bit. BitSet com o tamanho da matriz será necessário aumentar.

Uma classe bitset cria um tipo especial de matriz para armazenar o valor do bit. BitSet com o tamanho da matriz será necessário aumentar.


algoritmo de coleta

Quadro Colecções define vários algoritmos pode ser utilizada para a recolha e mapeamento. Esses algoritmos são métodos estáticos da classe é definida como uma coleção.

Ao tentar comparar tipos incompatíveis, alguns métodos podem jogar um ClassCastException. Ao tentar modificar um conjunto de não-modificáveis, uma exceção UnsupportedOperationException.

Coleção define três variáveis ​​estáticas: EMPTY_SET EMPTY_LIST, EMPTY_MAP de. Essas variáveis ​​são imutáveis.

Não. algoritmo Descrição
1 algoritmos de coleta
Aqui está uma lista de todos os algoritmos.

Como utilizar o iteradora

Normalmente, você vai querer atravessar uma coleção de elementos. Por exemplo, cada elemento do conjunto é apresentado.

Fazê-lo da maneira mais fácil é usar um iterador, é um objeto que implementa a interface Iterator ou interface ListIterator.

Iterators, de modo que você pode remover o elemento para obter ou definir pela circulação. ListIterator herdou Iterator, permitindo bidirecional percorrer a lista e modificar elementos.

Todos os métodos e interface de ListIterator Iterator desde aqui a título de exemplo.

Como utilizar o comparador

TreeSet e TreeMap ordem de classificação de acordo com o elemento de armazenamento. No entanto, isto é, comparando o dispositivo definido com precisão em termos do que a ordem de classificação.

Esta interface permite-nos de diferentes maneiras para ordenar um conjunto.

Não. Comparação dos métodos descrito
1 Use Java Comparator
Comparador de interface fornece todos os métodos aqui indicados a título de exemplo

resumo

Java Collections Framework fornece o programador com estruturas de dados pré-embalados e algoritmos para manipulá-los.

Uma coleção é um objeto que pode conter referências a outros objetos. Coleção declaração de interface de operação para cada tipo de coleta pode ser realizada.

Coleções aulas Framework e interfaces estão no pacote java.util.