O Java Collection Toolkit está localizado sob o pacote java.util e contém muitas estruturas de dados comumente usadas, como matrizes, listas vinculadas, pilhas, filas, coleções, tabelas de hash, etc. na estrutura de flashes e coletores de flash), que pode ser dividido nas seguintes cinco peças: listagem, listagem, mapa de mapa, mapa, ister (titador de flash) (lista de listas de flash), mapa, mapa, mapa, mapa, que pode ser dividido em flashs.
Como pode ser visto na figura acima, as classes de coleta são divididas principalmente em duas categorias: coleção e mapa.
A coleção é uma interface altamente abstrata para coleções, como LIST e SET. Ele contém as operações básicas dessas coleções. É dividido principalmente em duas partes: lista e definição.
A interface da lista geralmente representa uma lista (matriz, fila, lista vinculada, pilha etc.) e os elementos podem ser repetidos. As classes de implementação comuns são ArrayList e LinkedList, e também existem vetores que não são comumente usados. Além disso, o LinkedList ainda implementa a interface da fila, para que também possa ser usada como uma fila.
A interface definida geralmente representa uma coleção na qual os elementos não podem ser repetidos (garantidos pelas funções HashCode e é igual a). As classes de implementação comumente usadas incluem Hashset e Treeset. O hashset é implementado através do hashmap no mapa, e o TreeSet é implementado através do Treemap no mapa. Além disso, o TreeSet também implementa a interface do SortEdSet, por isso é um conjunto ordenado (os elementos no conjunto devem implementar a interface comparável e substituir a função do compartilhador).
Vemos que as classes abstratas abstractcollection, abstractlist e abstractset implementam a coleta, listam e definem interfaces, respectivamente. Esses são os muitos padrões de design do adaptador usados na estrutura de coleção Java. Essas classes abstratas são usadas para implementar interfaces e implementar vários ou todos os métodos na interface na classe abstrata. Dessa forma, algumas das classes a seguir precisam herdar diretamente a classe abstrata e implementar os métodos de que precisam, sem implementar todos os métodos abstratos na interface.
O mapa é uma interface de mapeamento e cada elemento é um par de valor-chave-chave. Da mesma forma, a classe abstrata AbstractMap implementa a maioria das funções na interface do mapa através do modo adaptador. Treemap, Hashmap, FrawHashmap e outras classes de implementação são implementadas herdando o AbstractMap. Além disso, o hashtable incomumente usado implementa diretamente a interface do mapa, e TI e Vector são classes de coleta introduzidas no JDK1.0.
O iterador é um iterador que atravessa coleções (não pode atravessar o mapa, usado apenas para atravessar as coleções). As classes de implementação da coleção implementam a função iterator (), que retorna um objeto Iterador para atravessar coleções, e o listiterator é usado especificamente para atravessar listas. A enumeração foi introduzida no JDK 1.0 e tem a mesma função que o iterador, mas suas funções são menores que o iterador e só podem ser usadas em hashtable, vetor e pilha.
Matrizes e coleções são duas classes de ferramentas usadas para manipular matrizes e coleções. Por exemplo, Arrays.copyof () é chamado em grandes quantidades no Arraylist e Vector. Existem muitos métodos estáticos em coleções que podem retornar a versão sincronizada de cada classe de coleção, ou seja, a versão segura para threads. Obviamente, se você deseja usar uma classe de combinação segura por threads, a classe de coleção correspondente no pacote simultâneo é preferível.
A análise abrangente acima do código -fonte da coleção Java é todo o conteúdo compartilhado pelo editor. Espero que possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.