Como faço pra printar uma String que aparece mais?
Exemplo:
Casa
Árvore
Carro
Árvore
Casa
Casa
Resposta: Casa
Como faço pra printar uma String que aparece mais?
Exemplo:
Casa
Árvore
Carro
Árvore
Casa
Casa
Resposta: Casa
Os valores estão guardados em qual estrutura de dados?
Eu criaria uma classe “Palavras” com os atributos String nome Int quantidade=0.
Criaria uma ArrayList , percorreria a estrutura onde estão as palavras e verificava com o metodo Contais se a palavra ja existe na ArrayList, se não existir você adiciona o nome e da quantidade +1.
Você escreve um algoritmo para contar cada String,
Ao final você escolhe a que tem maior incidência e imprime.
Você pode usar Map ou List ou criar uma estrutura própria.
Use a criatividade.
Estou aprendendo a API Streams do Java 8, então usei isso como exercício:
public static void main(String[] args) {
ArrayList<String> listaDePalavras = new ArrayList<>(
Arrays.asList("Casa", "Arvore", "Carro", "Arvore", "Casa", "Casa"));
System.out.println(listaDePalavras.stream().collect(Collectors.groupingBy(String::toString)).values().stream()
.max((s1, s2) -> Integer.compare(s1.size(), s2.size())).orElse(Arrays.asList("Não encontrado!"))
.get(0));
}
Se não houver uma palavra que mais se repete que as outras, acho que ele vai retornar a primeira palavra que empata em repetições.
Se alguém puder corrigir meu código ou sugerir melhorias, eu ficaria grato 