Uma coleção em Java é uma estrutura de dados comumente usada para armazenar e manipular um conjunto de dados. Entre eles, List, Set e Map são os tipos de coleção mais comuns e amplamente utilizados. Cada um deles tem características diferentes e cenários aplicáveis. Este artigo analisará em detalhes os conceitos e características das coleções List, Set e Map e como usá-los para armazenar e manipular dados, além de mostrar suas estruturas de dados e operações comuns por meio de análise de exemplo.
1. Coleção de listas
A coleção List é uma coleção ordenada e repetível, que armazena elementos em uma estrutura linear e pode acessar e manipular dados de acordo com o índice do elemento. As classes comuns de implementação da lista são ArrayList e LinkedList.
-
ArrayList:
- Características: Com base na implementação de matriz, suporta expansão dinâmica.
- código:
List<String> arrayList = new ArrayList<>(); arrayList.add("Java"); arrayList.add("Python"); arrayList.add("C++");
-
LinkedList:
- Recursos: Com base na implementação de lista encadeada, inserir e excluir elementos é mais eficiente.
- código:
List<String> linkedList = new LinkedList<>(); linkedList.add("Apple"); linkedList.add("Banana"); linkedList.add("Orange");
Dois, conjunto de coleção
A coleção Set é uma coleção não ordenada e não repetível, que armazena elementos em uma tabela hash ou estrutura de árvore e é usada para armazenar um conjunto exclusivo de dados. As classes de implementação do Conjunto comum são HashSet e TreeSet.
-
HashSet:
- Funcionalidades: Implementado com base em uma tabela hash, os elementos são desordenados e únicos.
- código:
Set<String> hashSet = new HashSet<>(); hashSet.add("Apple"); hashSet.add("Banana"); hashSet.add("Orange");
-
TreeSet:
- Características: Implementado com base na árvore rubro-negra, os elementos são ordenados e únicos.
- código:
Set<String> treeSet = new TreeSet<>(); treeSet.add("Java"); treeSet.add("Python"); treeSet.add("C++");
3. Coleção de mapas
A coleção Map é uma coleção de pares chave-valor, usada para armazenar um conjunto de dados com um relacionamento de mapeamento. Ele armazena elementos em pares chave-valor e acessa e manipula valores por meio de chaves. As classes comuns de implementação do Map são HashMap e TreeMap.
-
HashMap:
- Recursos: Com base na implementação da tabela de hash, os pares chave-valor estão fora de ordem.
- código:
Map<String, Integer> hashMap = new HashMap<>(); hashMap.put("Java", 1); hashMap.put("Python", 2); hashMap.put("C++", 3);
-
TreeMap:
- Características: Com base na implementação da árvore rubro-negra, os pares chave-valor são ordenados.
- código:
Map<String, Integer> treeMap = new TreeMap<>(); treeMap.put("Apple", 1); treeMap.put("Banana", 2); treeMap.put("Orange", 3);