Gruppieren verschiedener URL's

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo Miteinander,

Ich habe folgendes Problem:
Ich habe mehrere Log Files, mit URL's welche ich gerne Analysieren würde. Das heisst ich würde gerne die selben URL's nur einmal anzeigen, und dazu jeweils die Anzahl ausgeben.

Beispiel:
Mein Log File sieht zum Beispiel so aus:

www.google.ch
www.bluewin.ch
www.yahoo.de
www.bluewin.ch
www.google.ch
www.google.ch
www.gmx.net

dann möchte ich danach ausgeben:

www.google.ch 3
www.bluewin.ch 2
www.yahoo.de 1
www.gmx.net 1

In dem Log file stehen natürlich weit mehrere und andere URLs, soll nur als anschauungs Beispiel dienen.

Was ich mir überlegt habe ist für jede URL ein Objekt zu haben, in welche ich die Anzahl URL's schreibe, oder besser ich einfach ein counter habe und wenn die selbe URL wieder kommt, wird der Counter des Entsprechenden Objektes hochgezählt.

Ich bin aber nicht sicher ob es nicht eine einfachere Lösung gibt, hat jemand vorschläge?

Danke schön,

Schöner Gruss ::
 

EOB

Top Contributor
pack doch jede zeile, also jede url in eine hashmap. key ist die url und value ist die anzahl. ist eine url schon drinne, zaehlst du hoch, wenn nicht, packste die url rein mit zaehler 1.

gruesse
 
G

Guest

Gast
Herzlichen Dank für die rasche Antwort,

habe es so gelösst und es funktioniert, tiptop.
noch eine andere frage betreffen HashMap wie kann ich da den Key wieder auslesen?
 

EOB

Top Contributor
hi, so sollte es gehen. einmal fuer die keys und einal fuer die values:

Code:
//keys
Iterator it = map.keySet().iterator();
while (it.hasNext()) {
    Object key = it.next();
}
    
//values
it = map.values().iterator();
while (it.hasNext()) {
    Object value = it.next();
}

freut mich, wenn ich helfen konnten :).

gruesse :toll:

EDIT: achso, du meinst wohl, ueber einen key? also du kannst imho nur ueber den key auf ein value zugreifen, nicht aber auf den key ueber ein value, da dieses ja nicht einmalig sein muss. du kannst also nur mittels

Code:
map.get(key);

an das value kommen. sowas wie map.get(value) gobts nicht....denk ich.
 
G

Guest

Gast
Super!! Danke viel mal

Echt noch einmal Kompliment an dieses Forum!

War schon ein paar mal sehr froh!
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben