📌 Hierarquia do Collection Framework em Java
- #Java
🔵 O JCF está dividido em três principais interfaces:
1️⃣ Interface Collection<E> (Raiz da Hierarquia)
Collection<E>é a interface-mãe de todas as coleções no Java (excetoMap).- Suas principais implementações são:
List<E>(Listas ordenadas, permitem elementos duplicados)Set<E>(Conjuntos, não permitem elementos duplicados)Queue<E>(Filas, seguem ordem específica de inserção/remoção)
2️⃣ Interface List<E> (Ordenada, Permite Duplicatas)
- Implementações:
- 🔹
ArrayList<E>→ Baseado em array dinâmico, acesso rápido (O(1)). - 🔹
LinkedList<E>→ Baseado em lista encadeada, inserção/remover rápido (O(1)). - 🔹
Vector<E>→ Similar aoArrayList, mas síncrono (Thread-safe). - 🔹
Stack<E>→ Pilha (LIFO), baseada emVector.
3️⃣ Interface Set<E> (Não Permite Duplicatas)
- Implementações:
- 🟢
HashSet<E>→ Baseado em tabela hash, sem ordenação. - 🟢
LinkedHashSet<E>→ Mantém a ordem de inserção. - 🟢
TreeSet<E>→ Baseado em árvore vermelha-preta, mantém ordem natural.
4️⃣ Interface Queue<E> (Fila)
- Implementações:
- 🔺
PriorityQueue<E>→ Elementos ordenados com base em prioridade. - 🔺
LinkedList<E>→ Também implementaQueue, usada como Fila. - 🔺
ArrayDeque<E>→ ImplementaDeque(fila dupla).
5️⃣ Interface Deque<E> (Fila Dupla)
- Implementações:
- 🔵
ArrayDeque<E>→ Implementação eficiente paraDeque. - 🔵
LinkedList<E>→ Também implementaDeque.
6️⃣ Interface Map<K, V> (Chave-Valor)
Map<K,V>não estendeCollection<E>porque trabalha com pares chave-valor.- Implementações:
- 🔶
HashMap<K,V>→ Baseado em tabela hash, sem ordenação. - 🔶
LinkedHashMap<K,V>→ Mantém a ordem de inserção. - 🔶
TreeMap<K,V>→ Baseado em árvore, mantém ordem natural das chaves. - 🔶
Hashtable<K,V>→ Similar aoHashMap, mas sincronizado.
🔥 Resumo
📌 Escolher a estrutura certa para o seu código é essencial para otimizar desempenho e consumo de memória.
- 🚀 Se quiser ordenação, use
TreeSet,TreeMapouLinkedHashSet. - 🚀 Se precisar de acesso rápido,
HashSeteHashMapsão boas opções. - 🚀 Se precisa de fila,
PriorityQueueouDequesão recomendados.



