sobota, 16 maja 2015

Tydzień 13: kolekcje cz. 3

Ćwiczenia

Na ćwiczenia proszę rozproszyć się po innych grupach. Ćwiczenia z PO o godzinie 12:

  • sala 3130, Kazimierz Grygiel
  • sala 3140, Michał Pilipczuk
  • sala 3150, Tomasz Waleń
  • sala 3160, Krzysztof Szafran
  • sala 3230, Konrad Durnoga

Laboratorium

  1. Uruchom programy Zagadka.java i Zagadka2.java. Wyjaśnij, dlaczego programy tak się zachowują. Co trzeba zmienić, żeby programy zachowywały się zgodnie z oczekiwaniami autora?
  2. Zaproponuj interfejs ImmutableSet<E> reprezentujący niezmienialny zbiór. Operacje wstawiania i usuwania powinny tworzyć nowy zbiór, a nie modyfikować istniejący. 
    Przygotuj implementację tego interfejsu za pomocą drzew BST. Wszystkie używane pola mogą być zadeklarowane jako final, wtedy na pewno struktura będzie niezmienialna.  Niech operacje takie jak size() i isEmpty() działają w czasie stałym.
    Jakie znasz niezmienialne klasy w bibliotece standardowej Javy? Jest ich całkiem sporo!
    Jakie są zalety użycia klasy niezmienialnej (ang. immutable)? Jakie są wady?

Brak komentarzy:

Publikowanie komentarza