Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego
w ramach projektu
Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych
i propagowaniu wiedzy technicznej w regionie
Java Podstawy
Michał Bereta
mbereta@pk.edu.pl
Generics – typy uogólnione
Programowanie z wykorzystaniem typów uogólnionych pozwala na
wykorzystanie typów jako parametrów podczas definiowania metod, klas oraz
interfejsów.
Pozwala to na dokładniejsze sprawdzanie zgodności typów na etapie
kompilacji, jak również pisanie kodu wielokrotnego użycia (dla różnych typów
danych).
Generics – typy uogólnione
zwykła metoda
Generics – typy uogólnione
zwykła metoda
Wada: metoda taka jest zdefiniowana tylko dla typu int.
Porównanie dwóch dowolnych obiektów jest ogólnym
problemem.
Generics – typy uogólnione
Metoda uogólniona - działa z każdym typem T,
który implementuje interfejs Comparable
umożliwiający porównanie obiektów.
Generics – typy uogólnione
Generics – typy uogólnione
zwykła metoda
Generics – typy uogólnione
Generics – typy uogólnione
Taka klasa może przechowywad
parę elementów jedynie typu
int.
Generics – typy uogólnione
Taka klasa może
przechowywad parę
elementów dowolnego
typu - tego samego lub
różnego.
Generics – typy uogólnione
Przykładowy projekt: TypyUogolnione.zip
Kolekcje
Kolekcje szeroko wykorzystują typy uogólnione.
Pozwala to na oddzielenie struktur danych służących do przechowywania
elementów kolekcji od algortymów, które działają w sposób ogólny (np.
wyszukiwanie, sortowanie).
Kolekcje
Najważniejsze interfejsy
Kolekcje
Kolekcje
Set - zbiór, nie przechowuje duplikatów.
List - lista,
ArrayList - wolne wstawianie/usuwanie, szybki bezpośredni dostęp
LinkedList - szybkie wstawianie/usuwanie, wolny bezpośredni dostęp
Oueue - kolejka, umożliwia modelowanie "pierwszy na wejściu, pierwszy na wyjściu"
Map - mapa, umożliwia przechowywanie wartości "klucz-wartośd"
Najważniejsze implementacje
Kolekcje
Wymagana jest referencja do obiektu, a nie typ
wbudowany
Przykład – losowanie liczb w totolotku
Kolekcje
Przykład – losowanie liczb w totolotku
Kolekcje
Przykładowy projekt: TotolotekKolekcje.zip
Kolekcje
Iteratory - specjalne obiekty służace do "przechodzenia po kolekcji".
Zaletą iteratorów jest to, że ich użycie jest takie samo dla każdej kolekcji.
Kolekcje
sprawdzenie czy
jest kolejny obiekt
pobranie kolejnego obiektu
Kolekcje
Pętla for również wykorzystuje obiekt typu
Iterator.
Kolekcje
Przykład: wyszukiwanie binarne - dużo szybsze niż przeglądnie
wszystkich elementów kolekcji.
Wymaga by kolekcja była posortowana.
Przykładowy projekt: WyszukiwanieBinarne.zip
Kolekcje
Kolekcje
Kolekcje
Kolekcje
Uwaga!
Klasa LinkedList<> ma
bardzo wolny dostęp
bezpośredni!
Kolekcje
Zadanie
Dla klasy pracownik zdefiniuj klasy typu Comparator umożliwiające
sortowanie względem imienia oraz imienia. Zademonstruj ich działanie.
Strumienie
Przykładowy projekt: WyszukiwanieTekstu.zip
Zadanie
Uruchom wyszukiwanie tekstu w osobnym wątku.
Przetestuj działanie programu na dużym pliku tekstowym.
Strumienie
Przykładowy projekt: Chat.zip
Dostęp do baz danych przez JDBC
Przykładowy projekt: BazaDanych.zip
Dostęp do baz danych przez JDBC
baza danych Derby
Dostęp do baz danych przez JDBC
Dostęp do baz danych przez JDBC
plik jar ze
sterownikiem
Dostęp do baz danych przez JDBC
Dostęp do baz danych przez JDBC
Dostęp do baz danych przez JDBC
Dostęp do baz danych przez JDBC
http://docs.oracle.com/javase/tutorial/jdbc/in
dex.html
http://netbeans.org/kb/docs/ide/java-db.html
http://netbeans.org/kb/70/java/gui-db.html
http://db.apache.org/derby/docs/dev/getstart/
http://netbeans.org/kb/docs/java/gui-
binding.html
Projekt
Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu
przedmiotów ścisłych i propagowaniu wiedzy technicznej w regionie
współfinansowany przez Unię Europejską ze środków
Europejskiego Funduszu Społecznego
Instytut Fizyki Politechniki Krakowskiej
pok. F206a, ul. Podchorążych 1, 30-084 Kraków
tel.: +48 12 6370666 w. 28, faks: +48 12 6371446
www.wiedza.pk.edu.pl