Witam,
mam tutaj taki mały program (wyświetla słowa i ich ilość w zdaniu):
import java.io.*;
import java.text.*;
import java.util.*;
import java.util.Map.Entry;
public class Program{
public static void main(String[] args) {
try {
Map<String, Integer> mapa = new HashMap<String, Integer>();
FileReader plik = new FileReader("C:\\Temp\\tekst.txt");
BufferedReader reader = new BufferedReader(plik);
String s = null;
int numberOfWord = 0;
while((s = reader.readLine()) != null) {
StringTokenizer st = new StringTokenizer(s," ! @ # $ % ^ & * * ( ) , . < > / ? \" : ; { } [ ] | = + - ");
int n = st.countTokens();
for(int i = 0 ; i < n ; i ++) {
String word = st.nextToken();
if(mapa.containsKey(word)) {
numberOfWord = mapa.get(word);
numberOfWord++;
mapa.put(word, numberOfWord);
} else {
mapa.put(word, 1);
}
}
}
Collator col= Collator.getInstance(new Locale("pl"));
Set<String> s1 = mapa.keySet();
Iterator it = s1.iterator();
Collection<Integer> s2 = mapa.values();
Iterator it2 = s2.iterator();
while(it.hasNext() && it2.hasNext()) {
System.out.println(it.next() + " " + it2.next());
}
reader.close();
} catch(IOException exc) {
exc.printStackTrace();
}
}
}
I teraz chciałbym wynik posortować w kolejności alfabetycznej z pomocą Collatora.
Za każdą pomoc będę bardzo wdzięczny.
Pozdrawiam