cwicz09 10









WPR 08-10




Kolekcje
Tablica mieszająca




Zliczanie wystąpień znaków

Napisz program (klasę), który zliczy wystąpienia każdego znaku w pliku podanym
jako argument, a następnie wypisze wyniki na konsoli.


Wynik należy umieścić w kolekcji HashMap.


Kluczami będą obiekty klasy Character


Wartościami - obiekty własnej klasy Counter opakowującej liczby całkowite.
Można też wykorzystać klasę java.lang.Integer. Chodzi o to, by można było zliczać
wystąpienia danego znaku i je zapamiętywać w obiekcie będącym wartością asocjacji (klucz, wartość).


Do wypisania rezultatu może być potrzebna metoda
entrySet() z klasy HashMap, która zwraca zbiór asocjacji (klucz, wartość) -
obiektów klasy Map.Entry.


Można go przeglądać przy pomocy iteratora (uzyskanego metodą iterator()).


Dostęp do kluczy i wartości asocjacji można uzyskać metodami klasy Map.Entry :
getKey() i getValue()





Zadanie dodatkowe

Dodaj możliwość sortowania wyniku po kluczach (czyli literach) i po wartościach
(czyli liczbie wystąpień). Następnie wypisz posortowane wyniki.


Do sortowania należy użyć odpowiedniej wersji funkcji Arrays.sort(...).


Aby zamienić HashMap na tablicę należy użyć funkcji toArray(Map.Entry[]).
Argument typu Map.Entry[] będzie potrzebny ze względów technicznych.


Potrzebny będzie własny komparator (obiekt klasy implementującej interfejs Comparator),
który zostanie dostarczony jako argument do metody sortującej. Będzie on implementował
porównanie liter (kluczy) lub liczb (wartości) - zależnie od rodzaju sortowania.










Wyszukiwarka

Podobne podstrony:
WSM 10 52 pl(1)
VA US Top 40 Singles Chart 2015 10 10 Debuts Top 100
10 35
401 (10)
173 21 (10)
ART2 (10)

więcej podobnych podstron