Interface: vermelho; Classe de implementação: Fonte Black
1. Coleção
Coleção
| _____ Set (HashSet)
| | _____ SortedSet (TreeSet)
| _____ List (ArrayList, LinkedList, Vector)
Coleção : a interface raiz no nível da coleta. O JDK não fornece uma classe de implementação para esta interface.
Lista : Orderly (na ordem de colocação), pode ser repetido e possui subscritos.
Conjunto : não ordenado, não repetível, sem subscrito.
SortedSet : é uma subinterface da interface definida. Os elementos no conjunto de classificação são ordenados (em ordem ascendente em alfabético).
Através do método comparável comparável da interface, os elementos são implementados de maneira ordenada. Todos os elementos colocados devem implementar a interface comparável (ou ser aceito pelo comparador especificado).
Diferenças entre as classes de implementação da interface da lista :
Arraylist : é essencialmente uma matriz. Tópicos não são seguros. A consulta (Get/Set) é rápida, Adicionar/Remover (Adicionar/Remover) é lento.
LinkedList : essencialmente uma lista vinculada de mão dupla. Tópicos não são seguros. A consulta (Get/Set) é lenta, Adicionar/Remover é rápido.
Vector : é quase exatamente o mesmo que o Arraylist. A única diferença é que o vetor é sincronizado e é seguro para threads.
2. Coleção de mapas
Mapa (hashmap, hashtable)
| _____ STORNEDMAP (TREEMAP)
Mapa : ele armazena um par de valores-chave, que não pode conter teclas duplicadas e pode ter valores duplicados.
STORNEDMAP : o Subinterface SortEdMap do mapa é um mapa que organiza teclas em ordem crescente.
A diferença entre hashmap , hashtable e theemap
Hashmap : os threads não são seguros. A chave e o valor podem ser nulas. Os elementos são desordenados. A camada subjacente é a estrutura de dados da tabela de hash.
HASHTABLE : Seguro de threads. Nem chave nem valor podem ser nulos. Os elementos são desordenados. A camada subjacente é a estrutura de dados da tabela de hash.
TreeMap : Os threads não são seguros. Nem chave nem valor podem ser nulos. Os elementos são ordenados (em ordem alfabética ascendente). A camada subjacente é a estrutura de dados da árvore binária.
3. Como implementar a chave e definir valores do mapa sem duplicação
Mapa coloca a mesma chave e depois cobre a anterior
Mapa mapa = new hashmap ();
map.put ("Nome", "Zhang San");
map.put ("nome", "wangwu"); ------- eficaz, substitua o anterior
Quando definido coloca o mesmo elemento, o primeiro é válido e o próximo não será colocado em
SET SET = new HashSet ();
set.add ("111"); --- eficaz
set.add ("222"); ---- juiz que já existiu e não será colocado em
1. Hashmap put e hashset add
Porque o método add () hashset realmente gira para chamar o método put () put () para adicionar pares de valor-chave ao adicionar um elemento de coleta. O método put () de hashmap primeiro chamadas .hashcode () para determinar que o valor de retorno é igual. Se o valor de retorno for igual, ele retornará verdadeiro através da comparação igual. Finalmente, acredita -se que o objeto principal seja igual e já exista no hashmap.
2. Treemap Put e TreeSet Add
Quando o método PUT é chamado no Treemap para adicionar o valor da chave, o método compareto (ou compare) do objeto é chamado para comparar todas as teclas. Se esse método retornar 0, as duas teclas serão consideradas iguais.
Ao adicionar um elemento em Treeset, ligue para compareto ou compare o método para localizar a posição do elemento, ou seja, retornar compareto ou comparar para retornar 0, que é considerado a mesma posição, ou seja, o mesmo elemento