Mit HashMaps In Java

Ich Schreibe eine Methode, die es erlaubt mir, zu zählen, wie oft ein element vom Typ String zeigt, in eine LinkedList vom Typ Strings. mein code unten funktioniert nicht. Ich bekomme den index außerhalb des gültigen Bereichs in der Zeile, die ich kommentiert unten. Kann nicht scheinen zu finden, die Fehler

public int findDuplicate (LinkedList<String> e) {
int j = 1;
LinkedList<String> test = e;
while (!test.isEmpty()){
    test = e;
    String value = test.pop();
    //Screws up here when i = 6 
    for(int i =0; i<=test.size() && test.get(i)!=null; i++){ 
        String value3 = test.get(i);
        if(e.get(i).equals(value) && i<=test.size()){
            String value2 = test.get(i); 
            j++;
            String Duplicate = e.get(i);
            e.remove(i);
        }
    }
    System.out.println(value + " is listed " + j + " times");

}
return j;
}

Verwendung von hashmaps.. funktioniert immer noch nicht

public void findDuplicate (LinkedList e) {

    Map<String,Integer> counts = new HashMap<String,Integer>();

    while(!e.isEmpty()){
        String value = e.pop();
        for(int i =0; i<e.size(); i++){
            counts.put(value, i);
        }
    }
    System.out.println(counts.toString());
}

Mein code sollte gehen Sie durch die Link-Liste finden heraus, wie oft ein element in der Liste erscheint und löscht Duplikate aus der Liste zur gleichen Zeit. Dann druckt das element und die Anzahl der Zeiten, die er in der Liste erscheint. Ich habe geschrieben über diese Letzte Nacht, aber habe keine Antwort bekommen noch. Sorry für den repost.

InformationsquelleAutor Ali | 2013-03-04

Schreibe einen Kommentar