Utilizando as classes de coleções vistas em aula, determine a(s) mais apropriada(s) para resolver os problemas a seguir.
- Verificação de Palíndromo:
Desenvolva um programa que recebe uma string como entrada e verifica se ela é um palíndromo.
- Contagem de Palavras Únicas:
Escreva um programa que conta o número de ocorrências de cada palavra em um texto.
- Implementação de uma Pilha:
Implemente uma classe que represente uma pilha (stack) utilizando um ArrayList ou LinkedList.
- Ordenação de Números Únicos:
Crie um programa que recebe uma lista de números inteiros e remove os duplicados, mantendo a ordem original dos elementos
- Implementação de um Dicionário:
Crie um dicionário que mapeie palavras em seus significados.
- Remoção de Elementos Duplicados:
Desenvolva um programa que remova os elementos duplicados de uma lista, mantendo apenas a primeira ocorrência de cada elemento.
- ~~Fila Circular:
Implemente uma fila circular que suporte operações de enfileirar e desenfileirar.~~
- Contagem de Frequência de Caracteres:
Crie um programa que conta a frequência de cada caractere em uma string.
- Ordenação de Objetos Personalizados com Comparator:
Crie uma classe
Aluno
com campos nome
e nota
. Em seguida, crie um ArrayList de alunos e, usando Comparator, ordene-os primeiro por nome e depois por nota.
- PriorityQueue de Tarefas:
Crie uma
PriorityQueue
de tarefas com prioridades associadas. As tarefas podem ser representadas por uma classe com os campos nome
, prioridade
e tempoEstimado
. Implemente a lógica para executar as tarefas de acordo com sua prioridade. Considere que executar uma tarefa consiste simplesmente de removê-la da fila e exibi-la.
- LinkedHashMap de Contatos:
Crie uma aplicação de agenda telefônica que use um LinkedHashMap para armazenar nomes e números de telefone. Permita que o usuário adicione, remova e pesquise contatos pelo nome.
- HashSet de Objetos Personalizados:
Crie uma classe
Produto
com campos id
e nome
. Em seguida, crie um HashSet
de produtos e verifique se ele permite a inserção de objetos duplicados. Como você garantiria que não há duplicatas?
- LinkedHashSet de Strings:
Crie um
LinkedHashSet
de strings e insira uma série de palavras. Faça o mesmo com um HashSet
e um TreeSet
. Verifique se a ordem de inserção é preservada ao iterar sobre cada um dos conjuntos e explique o porquê.