Witam!
Potrzebuje pomocy w konwersji wartosci i klucza
z hashmap do arraylist.
Zadanie polega na tym aby zaladowac text z pliku a nastepnie zliczyc w mapie powtorzenia slow(slowo=klucz, ilosc powtorzen=wartosc).
Na koniec w nowej metodzie zwrocic liste z tej mapy.
Tutaj mam konstruktor ktory tworzy ta mape I nadaje mu wartosci(w sysout rezultat jest pozytywny)
public CountWords(String fname)throws FileNotFoundException{
ArrayList<String> list = new ArrayList<String>();
Scanner scan = new Scanner(new File(fname));
String txt = "";
while(scan.hasNextLine()){
txt += (scan.nextLine());
}
st = new StringTokenizer(txt);
while(st.hasMoreTokens()){
list.add(st.nextToken());
}for(int i=0; i<list.size(); i++){
txt = list.get(i);
Integer licznik = (Integer)map.get(txt);
if(licznik == null){
licznik = new Integer(1);
}else
licznik ++;
map.put(txt, licznik);
}
System.out.println(map);
}
No I jak stworzyc metode zwracajaca mi ta liste.
Staralem sie przeksztalcic wartosc I klucz do stringa a nastepnie przyporzadkowac ja do listy. No ale niestety nie moge znalezc zadnego porzadnego rozwiazania
public List getResult(){
ArrayList<String> list = new ArrayList<String>();
String txt = "";
for(int i=0; i<map.size(); i++){
//brak pomyslu
list.add(txt);
}
System.out.println(map.size());
return list;
}
Prosze o pomoc bo glowie sie juz z tym przeszlo 5 dni a nadal nic a do oddania prac coraz blizej :(