Laboratorium Java – Przechowywanie obiektów [2h] Tablice: class A

Transkrypt

Laboratorium Java – Przechowywanie obiektów [2h] Tablice: class A
Laboratorium Java – Przechowywanie obiektów [2h]
Tablice:
class A { }
A[] a;
A[] b = new A[5];
A[] c = { new A(), new A(), new A() };
1. Klasa System:
java.lang.Object
\--java.lang.System
–
umożliwia operacje na tablicach:
.arraycopy()
- kopiowanie (tylko wskaźniki do obiektów)
2. Klasa Arrays:
java.lang.Object
\--java.util.Arrays
–
umożliwia operacje na tablicach:
.fill()
.equals()
.sort()
.binarySearch()
-
wypełnianie
porównywanie
sortowanie
przeszukiwanie
Kontenery:
– brak informacji o typach (można przechowywać dowolne obiekty)
– konieczność rzutowania (rzutowanie w dół)
1. Interfejs Collection:
java.util.Collection
–
umożliwia operacje na kolekcji:
.add()
.remove()
.size()
.iterator()
.toArray()
-
dodaje element do kolekcji
usuwa pojedynczy element z kolekcji, o ile istnieje
zwraca liczbę elementów w kolekcji
zwraca iterator kolekcji
zwraca tablicę elementów zawartych w kolekcji
2. Interfejs List:
java.util.Collection
\--java.util.List
–
umożliwia dodatkowe operacje na liście:
.indexOf()
.lastIndexOf()
.set()
–
- zwraca indeks pierwszego wystąpienia określonego elementu w liście
- zwraca indeks ostatniego wystąpienia określonego elementu w liście
- zastępuje element na wskazanej pozycji nowym elementem
implementacje:
• ArrayList
• LinkedList
Laboratorium Java 08 (Opracowanie: Konrad Kurczyna)
1/2
3. Interfejs Set:
java.util.Collection
\--java.util.Set
–
–
umożliwia operacje na zbiorze (patrz kolekcja)
implementacje:
• HashSet
• TreeSet
4. Interfejs Map:
java.util.Map
–
umożliwia operacje na mapie:
.put()
.get()
.remove()
.size()
-
.entrySet()
.keySet()
- zwraca zbiór elementów zawartych w mapie
- zwraca zbiór kluczy zawartych w mapie
–
dodaje element do mapy oraz przypisuje mu określony klucz
zwraca element przypisany do określonego klucza
usuwa element skojarzony z kluczem z mapy, o ile istnieje
zwraca liczbę kluczy w mapie
implementacje:
• HashMap
• TreeMap
Interfejs Iterator:
java.util.Iterator
–
umożliwia przeglądanie kolekcji:
.hasNext()
.next()
.remove()
- zwraca true, gdy iteracja posiada więcej elementów
- zwraca kolejny element iteracji
- usuwa z kolekcji ostatni element zwrócony przez iterator
Klasa Object:
.clone()
.equals(Object)
.hashCode()
.toString()
-
tworzy i zwraca kopię aktualnego obiektu
sprawdza, czy dany obiekt jest równy aktualnemu
zwraca wartość reprezentującą obiekt dla metody mieszającej
zwraca reprezentację tekstową obiektu
Zadanie:
– zapoznać się z dokumentacją Java API
– zaimplementować aplikację z wykorzystaniem wybranego kontenera
– przesłonić metody equals oraz hashCode (w przypadku kontenera haszującego) lub
zaimplementować interfejs Comparable (w przypadku kontenera uporządkowanego)
Laboratorium Java 08 (Opracowanie: Konrad Kurczyna)
2/2