Contar numero de repetições de uma Lista de String Repetidas

4 respostas Resolvido
javaarraylist
L

Fala galera, boa noite!

Entao…to com uma duvida aqui e queria ver se vcs poderiam me ajudar!

Teria como eu contar o numero de strings repetidas dentro de um ArrayList?

Exemplo: tenho um ArrayList [brasil, portugal, alemanha, brasil, brasil, alemanha, portugal]

e eu queria contar quantas repetições para cada string eu tenho…no caso o resultado seria:
brasil: 3
portugal: 2
alemanha: 2

Alguem sabe como fazer isso??

Agradeço desde ja!

4 Respostas

P

Usa um Map<String,Integer> pra armazenar cada string e a quantidade de ocorrências

Um HashMap, por exemplo.

Em um loop sob todas as strings vc ve se ja existe a palavra como chave

Não tem? Adiciona com valor 1

Tem? Incrementa o valor

L

peczenyj obrigado pela resposta!

Não tenho muito costume de usar HashMap…vc poderia dar um exemplo?

Z
Solucao aceita

O que o peczenyj quis dizer é:

`

import java.util.HashMap;

import java.util.Scanner;

public class FirstNonRepeated {

public static void main(String[] args)
{
    // TODO Auto-generated method stub
    
    System.out.println(" Please enter the input string :" );
    Scanner in = new Scanner (System.in);
    String s=in.nextLine();
    char c=firstNonRepeatedCharacter(s);
    System.out.println("The first non repeated character is :  " + c);
}

public static Character firstNonRepeatedCharacter(String str)
{
    HashMap<Character,Integer>  characterhashtable= 
                 new HashMap<Character ,Integer>();
    int i,length ;
    Character c ;
    length= str.length();  // Scan string and build hash table
    for (i=0;i < length;i++)
    {
        c=str.charAt(i);
        if(characterhashtable.containsKey(c))
        {
            // increment count corresponding to c
            characterhashtable.put(  c ,  characterhashtable.get(c) +1 );
        }
        else
        {
            characterhashtable.put( c , 1 ) ;
        }
    }
    // Search characterhashtable in in order of string str
    
    for (i =0 ; i < length ; i++ )
    {
        c= str.charAt(i);
        if( characterhashtable.get(c)  == 1 )
        return c;
    }
    return null ;
}

}
`

Faça as alterações necessárias para sua necessidade. ESSA não É a resposta do seu problema.

http://javahungry.blogspot.com/2013/12/first-non-repeated-character-in-string-java-program-code-example.html

Abs

L

Show! Mudei de acordo com minhas necessidades aqui e deu certo!!

Valeu galera!! Brigadao ai !!

Criado 14 de dezembro de 2016
Ultima resposta 15 de dez. de 2016
Respostas 4
Participantes 3