Na Unixech se to dela kolonou "sort | uniq -c |sort -n" :-)

Ale jestli to musi byt v Jave, tak bych
pouzil Hashmap tak jak mate pouzitou Hashtable,
a *potom* bych z ni ziskal polozky a setridil je
podle hodnot (nikoliv klicu), tj.

  HashMap<String,Integer> mapa = ...
  ... atd tak jak to mate ...

  Set<Map.Entry<String,Integer> polozky =  mapa.entrySet();
  Map.Entry[] pole = polozky.toArray(new Map.Entry[polozky.size()]);
  Arrays.sort(pole, new Comparator<Map.Entry<String,Integer>>() {
public int compare(Map.Entry<String,Integer> e1, Map.Entry<String,Integer> e2) {
      return e1.getValue().compareTo(e2.getValue()));
    }
  });

Makub

BJ napsal(a):
Dobry den
Mam LOG soubor a ten chci analyzovat.

Struktura:
/var/www/xxx/stranka1.html
/var/www/xxx/stranka2.html
/var/www/xxx/stranka1.html
/var/www/xxx/stranka1.html
/var/www/xxx/stranka5.html
...

A ja potrebuji abych ve vysledku zjistil ze:
/var/www/xxx/stranka1.html - 3
/var/www/xxx/stranka2.html - 1
/var/www/xxx/stranka5.html - 1

Zkousel jsem laborovat s TreeSet a Hashtable.
U Hashtable jsem se dostal az do naplneni ale nevim jak jednoduse projit tuto 
strukturu (nejlepe s volbou setrideni podle nazvu souboru (key), nebo poctem 
souboru (value).

Kod na naplneni Hashtable vypada takhle:
        String line = "";
        Hashtable<String, Integer> set = new Hashtable<String, Integer> ();
        
        while ((line = r.readLine()) != null) {
                if (line.trim().compareTo("") == 0) continue;
                if (set.containsKey(line)) {
                        set.put(line, (Integer)set.get(line)+1);
                } else {
                        set.put(line, 1);
                }
        }

Napadla me cesta ze bych si vratil seznam klicu (set.keySet()) ale nejsem si 
jist zda se nedrbu pravou rukou za levym uchem a neresi to samotne trideni.

Dik za rady ci pripadnou pomoc.

BJ


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno             Martin Kuba
Institute of Computer Science    email: [EMAIL PROTECTED]
Masaryk University             http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
--------------------------------------------------------------

Odpovedet emailem