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