Arraylist: Zählen welcher String am Häufigsten vorkommt

vimar

Bekanntes Mitglied
Hallo,

ich habe eine ArrayList<String> mit 10 Stringobjekten und möchte wissen welche String identischen elemente dort am häufigsten vorkommen. wie realisiert man das am besten?

mfg vimar
 
Moin,

durch die Liste laufen und vergleichen ???:L😉

Was genau ist denn die Frage?
Poste mal den Code, den Du bis jetzt hast ...

Gruß
Klaus
 
[c]Map<String, Integer>[/c] erstellen, durch deine Liste iterieren, falls Key noch nicht vorhanden, mit 0 initialisieren, danach jeweils +1.
 
Java:
ArrayList<String> al= new ArrayList<String>();
        al.ensureCapacity(10);
        
        int maximumAppeariance = -1;
        
        for (int i = 0; i < 10; i++){
            
            al.add(infoTable.get(i).getName());
            
        }
        
        Map<String, Integer> mapMaxApp = new HashMap<String, Integer>();
        int temp;
        
        for(int i = 0; i < 10; i++){
            
            if(!(mapMaxApp.containsKey(al.get(i)))){
                mapMaxApp.put(al.get(i), 0);
            }
            else {
                temp = mapMaxApp.get(i) + 1;
                mapMaxApp.put(al.get(i), temp);
            }
            
            
        }
        
        int maxtemp;
     //    maxtemp = mapMaxApp.
        for (int i = 0; i < mapMaxApp.size(); i++){
            
           
            
            
        }
        
        return "lol";

ich habe deinen rat befolgt, vielen dank dafür. allerdings stehe ich grad aufm schlauch. mit map.get(index) kriege ich ja nur den value. ich bräuche aber von Map<String, Integer> den String zurück.

gibts nicht die möglichkeit ala get String where maxInt found?
 
du iterierst durch die map und merkst dir den key vom maximalen value

oder vllt besser: du machst das Ganze gleich in deiner ersten Schleife mit
 
durchlaufe am Ende alle Keys, schaue den zugehören Value an, wenn größer als bisher, dann Key + Value merken,

gibt auch EntrySet, das bringt aber nicht soviel mehr als die Keys anzuschauen und den zugehörigen Value normal zu laden
 

Zurück
Oben