PO Kolekcje wstęp - ćwiczenia: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Dorota (dyskusja | edycje)
Nie podano opisu zmian
Janusz (dyskusja | edycje)
Nie podano opisu zmian
Linia 3: Linia 3:
[[Programowanie obiektowe|Przedmiot Programowanie obiektowe]]
[[Programowanie obiektowe|Przedmiot Programowanie obiektowe]]


Ćwiczenia do wykładu o kolekcjach
Ćwiczenia do drugiego wykładu o kolekcjach


<div class="mw-collapsible mw-made=collapsible mw-collapsed">
<div class="mw-collapsible mw-made=collapsible mw-collapsed">
Linia 12: Linia 12:
== Zad 1. ==
== Zad 1. ==


Zaimplementuj w postaci listy kolekcję uporządkowaną, tzn. taką, w której kolejność elementów wynika z kolejności wstawiania. Kolekcja ta powinna udostępniać następujące operacje:
Zaimplementuj własną wersję implementacji interfejsu ''Map<K,V>''.
* wstaw na początek
Wykorzystaj w tym celu jedną z kals implementujących interfejs ''Collection<E>''.
* wstaw na koniec
* podaj pierwszy element
* podaj ostatni element
* podaj liczbę elementów
Kolekcja powinna być sparametryzowana typem elementów.


{{wskazowka|1||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
{{wskazowka|1||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
Skorzystaj z klasy ''Stos'' zamieszczonej w wykładzie o typach uogólnionych.
Skorzystaj z klasy ''ArrayList<E>''. Co będzie przechowywane w jej elementach?
Jak dodać tam efektywne wstawianie elementów na koniec?
</div>
</div>
</div>}}
</div>}}


{{wskazowka|2||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
{{wskazowka|2||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
Do efektywnego wstawiania elementów na koniec potrzebujesz dodatkowej
Elementami ''ArrayList<E>'' powinny być obiekty klasy Para<K,V>.
informacji w swojej klasie - atrybutu pamietającego ostatni element listy.
Ale co z usuwaniem ostatniego elementu?
</div>
</div>}}
 
{{wskazowka|3||<div class="mw-collapsible mw-made=collapsible mw-collapsed"><div class="mw-collapsible-content" style="display:none">
Do efektywnego usuwania ostatniego elementu potrzebujesz dodatkowej
informacji w każdym elemencie listy - atrybutu pamietającego poprzednika.
Czyli po prostu musisz zastosować listę dwukierunkową.
</div>
</div>
</div>}}
</div>}}
Linia 42: Linia 27:
== Zad 2. ==
== Zad 2. ==


Dodaj do kolekcji z pierwszego zadania trzy wersje iteratora wbudowanego
Zaimplementuj (zgodnie z wykładem) klasę generującą kolejne liczby pierwsze (implementacja może
stworzone zgodnie z propozycjami z wykładu. Jaki jest koszt realizacji
polegać na
operacji dajElt(int i) dla pierwszego z iteratorów?


== Zad 3. ==
== Zad 3. ==

Wersja z 14:19, 1 paź 2006

Wykład o kolekcjach

Przedmiot Programowanie obiektowe

Ćwiczenia do drugiego wykładu o kolekcjach

Ogladaj wskazówki i rozwiązania __SHOWALL__
Ukryj wskazówki i rozwiązania __HIDEALL__

Zad 1.

Zaimplementuj własną wersję implementacji interfejsu Map<K,V>. Wykorzystaj w tym celu jedną z kals implementujących interfejs Collection<E>.

Wskazówka 1

{{{3}}}

Wskazówka 2

{{{3}}}

Zad 2.

Zaimplementuj (zgodnie z wykładem) klasę generującą kolejne liczby pierwsze (implementacja może polegać na

Zad 3.

Popraw trzecią wersję iteratora wbudowanego zaproponowaną na wykładzie tak, by pozwalała na jednoczesne przechodzenie kolekcji uporządkowanej na wiele sposobów.

Wskazówka

{{{3}}}