Desáté cvičení Java Core API Java Collection Framework JavaDoc
Java Core API množství již hotových tříd dodávaných společně s distribucí Javy. v balících začínající java. garantováno, že se budou i v dalších verzích Javy, chovají se stejně na všech prostředích v balících začínající javax. …nemá smysl vymýšlet, co již jednou někdo naimplemetoval a odladil Java cv10
Java Core API http://java.sun.com/j2se/1.4.2/docs/api/index.html Java cv10
Java Core API Nejdůležitější balíky java.lang – základní základy javy java.math – matematické operace java.net – síťová komunikace java.util – utility, zejména kolekce java.awt – grafické rozhraní javax.swing – pokročilé grafické rizhraní javax.xml – zpracování XML Java cv10
Java Collection Framework Java cv10
Java Collection Framework Kolekce – objekt, který představuje sadu objektů (podobně jako pole) Collection Framework – způsob jak standardně nakládat s kolekcemi objektů Rozhraní Algoritmy Implmentace Třídy v balíku java.util detailní informace o JCF http://java.sun.com/j2se/1.4.2/docs/guide/collections/ Java cv10
Java Collection Framework - rozhraní Přes rozhraní se standardně pracuje s kolekcemi Rozhraní definuje vlastnosti kolekce Collection – kolekce objektů Set – množina List - sekvence Map – páry klíč - hodnota Vlastní implementace je až podružná určuje například rychlost provádění určitých operaci s kolekcí Java cv10
Java Collection Framework - rozhraní Java cv10
Java Collection Framework - algoritmy add(Object o), contains(Object o), remove (Object o) iterator() toArray() Map put(Object key, Object value), get(Object key), containsKey(Object key), containsValue(Object value) keySet() Iterator hasNext(), next() Comparator compare(Object o1, Object o2) Java cv10
Java Collection Framework – další algoritmy Třída Collections sort(List l) sort(List l, Comparator c) binarySearch(List l, Object o) binarySearch(List l, Object o, Comparator c) reverse(List l) shuffle(List l) min(Collection c) max(Collection c) Java cv10
Java Collection Framework - třídy Různé způsoby implementace Pomocí hashovací funkce Pomocí stromu Pomocí spojového seznamu Pomocí pole hash tree linked array Set HashSet TreeSet LinkedHashSet List LinkedList ArrayList Map HashMap TreeMap LinkedHashMap Java cv10
JavaDoc Java cv10
JavaDoc Standardní způsob dokumentace zdrojového kódu Ze speciálních komentářů v kódu se vygenerují HTML stránky popisující třídy, metody, položky Unifikovaná dokumentace všech Java tříd Spuštění programem javadoc Př: javadoc –d .\doc cz.sks.evidencecd Java cv10
JavaDoc umístění komentářů Vždy o řádek výš než dokumentovaná entita dokumentace tříd dokumentace metod dokumentace polí Př.: /** * Interface pro uloziste. * @since 29.4.2005 */ public interface Uloziste { * Ulozi celou evidenci do uloziste. * @param evid objekt evidence, ktera bude ulozena * @throws IOException pokud se ulozeni nepovede public void store(EvidenceCD evid) throws IOException ; } Java cv10
JavaDoc tagy Dva typy block – musí začínat „@“ na nové řádce inline – {@tag-name}, kdekoli v popisu Nejpoužívanější: @author – tvůrce kódu @since – datum vzniku @version - verze @deprecated – informace, že tato třída/metoda je zastaralá a neměla by se dále používat @param – popis parametru metody @return – popis návratové hodnoty @throws – popis příčiny vzniku výjimky @see – odkaz na jinou třídu/metodu/položku {@link} – odkaz na jinou třídu/metodu/položku Java cv10
JavaDoc příklady javadoc -d \home\html -sourcepath \home\src -subpackages java -exclude java.net:java.lang Projde všechny podbalíky balíku java v adresáři \home\src kromě balíků java.net, java.lang a jejich podbalíků javadoc -d C:\home\html -sourcepath C:\home\src cz.sks.pokusy Vytvoří dokumentaci pro balík cz.sks.pokusy, který se nachází v adresáři c:\home\src Java cv10
JavaDoc referenční příručka http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javadoc.html Java cv10