wtorek, 13 maja 2014

Tydzień 13: kolekcje cd.


Ćwiczenia

Na ćwiczenia proszę rozproszyć się po innych grupach. Ćwiczenia z PO o godzinie 12:
  • sala 3130, Kazimierz Grygiel
  • sala 3140, Jacek Sroka 
  • sala 3150, Marcin Dziubiński
  • sala 3160, Krzysztof Szafran
  • sala 3220, Tomasz Kazana

Laboratorium

  1. Anagramy to słowa, które składają się z tych samych liter, ale w różnej kolejności. Napisz program, który dla danej listy słów wypisze wszystkie grupy anagramów pojawiające się na tej liście.
  2. Napisz własną implementację listy wraz z iteratorem. Twoja lista powinna mieć nastepujące operacje:
    • dodawanie nowego elementu,
    • rozmiar,
    • test niepustości,
    • iterowanie przy pomocy pętli foreach.
    Wskazówki:
    • Pętlą foreach można iterować po obiektach implementujących interfejs Iterable.
    • Do implementacji iteratora trzeba użyć klas wewnętrznych (ang. inner classes). Klasa wewnętrzna ma dostęp do prywatnych składowych otaczającego obiektu.
    • Warto przeczytać rozdział o klasach wewnętrznych z tutorialu na stronie Oracle.
    • Ściągawkę, jak napisać własny iterator można znaleźć w klasie java.util.AbstractList. W Eclipse trzeba mieć podpięte źródła Javy.  
  3. Dlaczego metody equals() i hashCode() są ważne: uruchom programy Zagadka.java, Zagadka2.java. Wyjaśnij, dlaczego programy tak się zachowują. Co trzeba zmienić, żeby programy zachowywały się zgodnie z oczekiwaniami autora?

Praca domowa nr 10

Do wyboru: zadanie 1 lub zadanie 2. Zadanie 1 jest dość standardowe. Zadanie 2 jest odrobinę ciekawsze, bo pokazuje wykorzystanie bardziej zaawansowanych konstrukcji Javy takich, jak pętla foreach i klasy wewnętrzne.

Termin oddania: 28 maja 2014 r. Za tydzień nie ma zajęć w powodu Wykładów o wykładach.

Brak komentarzy:

Prześlij komentarz