Iterator<String>

Slides:



Advertisements
Podobné prezentace
Java.lang.Object Tato nejobecnější třída je kořenem hierarchického stromu. Nemá žádné dostupné atributy, má jen implicitní konstruktor a 11 přetížených,
Advertisements

(instance konkrétní třídy)
Seminář C++ 5. cvičení Dědičnost Ing. Jan Mikulka.
Funkce Připomeňme si program pro výpočet faktoriálu:
Třída Array Je součásti balíčku java.util Účelem je usnadnit práci s poli Metody – nejpoužívanější equel(),fill(),sort() a binarySearch() equels() Slouží.
PJV151 Vnořené a vnitřní členy mohou být členy tříd a interfejsů. Je-li X obalem Y a Y je obalem Z, pak Z získá jméno X$Y$Z - kompilací vzniknou classy.
4IT101 šestá přednáška.
Polymorfismus Dědičnost
Druhé cvičení Vytváření identifikátorů Datové typy
Radek Špinka Přepínače MSSQL výběr.
J a v a Začínáme programovat Lucie Žoltá metody, objekty, konstruktor.
J a v a Začínáme programovat Lucie Žoltá. Odkazy - oficiální stránky (překladače, help, metody, vývojové prostředí NetBeans,...)
Objekty v CLIPSu RNDr. Jiří Dvořák, CSc.
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
Páté cvičení Dědičnost Interface Abstarktní třídy a metody
4IT101 7.přednáška Třída String a regulární výrazy Algoritmy v kolekcích Vnitřní a vnořené třídy.
OSNOVA: a) Řetězce v C b) Funkce stdio.h pro řetězce c) Funkce string.h pro řetězce d) Příklad Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
Třída jako zdroj funkcionality
Identity Field Radim Veselý ČVUT v Praze Radim Veselý ČVUT v Praze Michal Kouřík ČVUT v Praze
Objektové programování
Jedenácté cvičení Vlákna. Java cv112 Vlákna Operační systém Mutitasking – více úloh se v operačním programu vykonává „současně“ Java Multithreading -
Návrh a tvorba WWW Přednáška 11
Strategy. Strategy – „All-in-1“ na začátek class AStrategy { public: virtual void Algorithm()=0; protected: AStrategy(); }; class SpecificStrategy: public.
Počítače a programování 1 8.přednáška. Obsah přednášky Řetězce - deklarace a vytvoření Základní metody pro práci s řetezci Znaky - třída Character Základní.
Alg91 Textové soubory Na rozdíl od jiných typů souborů jsou textové soubory určené pro gramotné lidské oko. Textový soubor je posloupnost znaků členěná.
Memento. Obnovení operačního systému ( Windows | Linux...) Všichni víme, co jsou transekce v databázi Memento – zálohování databáze.
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
Datové typy a struktury
Rozhraní SAX, SAX vs. SAX2 Jaroslav Ciml.
IB111 Programování a algoritmizace
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Dědičnost - inheritance dědičnost je jednou z forem znovupoužitelnosti dědičnost je jednou z forem znovupoužitelnosti B A Třída A je předkem třídy B Třída.
13/04/20151 Indexery (1) Členy třídy (struktury) umožňující třídě (struk- tuře) používat hranaté závorky a pracovat s ní podobně jako s polem (používat.
KIV/PPA1 cvičení 9 Cvičící: Pavel Bžoch. Osnova cvičení Třída String a její metody –Řetězce a operace s nimi.
1 Počítače a programování 1 13.přednáška. 2 Obsah přednášky Vstupy a výstupy – 1.část.
PJV031 Přetypování (casting) Objekty, atributy, lokální proměnné, parametry a návratové hodnoty metod mají definovaný, neměnný typ. Jsou dva druhy typů:
Decorator. Rozšiřuje objekty o dodatečné chování  rozšiřuje konkrétní objekty, ne třídy  rozšiřuje objekt dynamicky, tj. za běhu Upřednostňuje kompozici.
PJV011 X36PJV ( Programování v JaVě ) Cílem předmětu je probrat: - základy jazyka a systému Java - nejdůležitější standardní balíčky (packages j2sdk) Organizace.
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
Datové typy a operátory. Co jsou datové typy  Charakterizují proměnnou nebo konstantu – jaká data obsahuje  Data jsou v počítači ukládána jako skupiny.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část I.
Počítače a programování 1 2.přednáška. Základní lexikální struktura programu Program v jazyce Java je tvořen symboly a oddělovači Program Java je psán.
Observer Martin Dráb Návrhové vzory, Co to je?  Definuje závislost 1:N mezi objekty  Závislé objekty jsou informovány o změně stavu  Konzistentní.
Petr Chmelař UIFS FIT VUT JAVA pro PDB Kafe? Jako C++ Zrníčka 1 / 12 Java rychlokvaška pro PDB [ ]
PJV05 1 Balíček java.io je rozsáhlý, obecně koncipovaný systém sloužící pro vstup, výstup a přenos dat. Hlavními součástmi jsou potomci čtyř abstraktních.
Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY Datové typy a operátory Základní programové.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA: Objektově orientované.
PJV15 1 Vnořené ( nested ) a vnitřní ( inner ) členy Třídy či interfejsy mohou být členy tříd či interfejsů. Je-li X obalem Y a Y obalem Z, pak Z získá.
PJV26 1 JavaBeans je technologie výroby znovupoužitelných, na platformě nezávislých komponent. Podporována je od jdk 1.1 a BDK. Bean lze vizuálně vkládat.
Kontrola Dekorátory CheckedInputStream resp. CheckedOutputStream usnadňují kontolu nenarušenosti InputStreamu resp. OutputStreamu pomocí kontroního.
Čas API pojednavá čas obecným, globálním způsobem.
Události ( Events ) GUI definuje model událostí ( event model ) – od Javy 1.1 je to tzv. delegační model. ( Původní tzv. hierarchický model se již neužívá.
OOP - Objektově Orientované Programování
Generické typy jsou třídy či interfejsy deklarující tzv. typové parametry jimiž: systematizují typovou kontrolu kompilátorem, vyjadřují jasněji smysl,
Java 8: Mary Had a Little Lambda
Typový příklad 3 – zadání 1
Kolekce je sbírka objektů v operační paměti, organizovaná dle JCF ( Java Collection Framework ). JCF sídlí v balíčku java.util a zahrnuje zejména: Interfejsy:
Kolekce je sbírka objektů v operační paměti, organizovaná dle JCF ( Java Collection Framework ). JCF sídlí v balíčku java.util a zahrnuje zejména: Interfejsy:
Polymorfismus = Mnohotvarost
Java.util.streams Proud (stream) umožňuje na principu roury agregované zpracování dat - objektů či int, long, double. Proud je definován sekvencí metod.
Tvorba objektů Objekty lze vytvářet, operovat nad nimi, ukládat je na vnější paměti, přenášet je či využívat telekomunikačně pouze v čase běhu ( run-time.
Bridge.
Reflexe jako introspekce
5a. Makra Visual Basic pro Microsoft Escel
C# přehled vlastností.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
Výčtové typy ( Java 5 ) Výčtové typy jsou speciální třídy zavedené pro větší bezpečí a pohodlí. V nejjednodušší variantě se definují příkladmo takto:
CU01 Informatika II 2/13 Základy algoritmizace
Composite “Spojuj a panuj”.
Transkript prezentace:

Iterator<String> java.util java.lang java.io java.lang AutoCloseable Flushable Iterable Objects 1.7 <T> java.io 1.7 Formatter Service Loader Closeable <S> java.io Scanner Serializable Iterator ListIterator <E> <E> Iterator<String> PrimitiveIterator BitSet 1.8 <T, T_CONS> javax.xml.stream 1.8 Checksum XMLEvent Reader .ofInt Random javax.xml.stream.util 1.8 <T, T_CONS> CRC32 EventReader Delegate java.security Secure Random EventListener Adler32 java.util.concurrent ThreadLocal Random Event ListenerProxy 1.7 PJV04 ALG

java.util Comparable Serializable Date Runnable Cloneable Date Time java.lang Serializable Date Runnable java.sql Cloneable Timer Task Date TimeZone Calendar java.sql Time Timer Simple TimeZone Gregorian Calendar java.sql TimeStamp Časové spouštění úloh viz S06_Thread Java 1.8 rozšířuje časové služby v java.time PJV04 ALG

java.util Currency UUID Locale EventObject Observer Formattable java.io EventObject Observer Formattable Serializable java.awt Observable Formattable Flags Currency AWT Event awt events swing events UUID .... events java.lang Comparable <UUID> Resource Bundle PropertyResource Bundle javax.naming ListResource Bundle .Builder Enumeration Naming Enumeration 1.7 Locale <E> <T> javax.accessibility .LanguageRange 1.8 String Tokenizer Accessible ResourceBundle <String> PJV04 ALG

java.util Spliterator .ofInt ZipFile JarFile StringJoiner .ofPrimitive java.util.function StringJoiner LongConsumer Spliterator Closeable 1.8 1.8 <T> 1.8 .ofPrimitive LongSummary Statistics Closeable 1.8 .ofInt java.util.function ZipFile IntConsumer 1.8 JarFile IntSummary Statistics Spliterators Optional 1.8 1.8 1.8 <T> java.util.function Splittable Random OptionalInt DoubleConsumer 1.8 1.8 1.8 DoubleSummary Statistics 1.8 PJV04 ALG

Třída Formatter Úpravu tisku v PrintStream.printf , Writer.printf a String.format. % [ arg_index$ ] [ flags ] [ width ] [ .precision ] conversion conversion: b B h H s S c C - boolean, hashCode, String, char d o x X - celá čísla decimálně, oktalově, hexa, HEXA e E f g G a A - čísla float a double, exponenciálně, hexa t - čas UTC long: ts, tS, tM, tH, td, tm, ty, tD, th, tY ... \n \t - nová řádka, tabelátor flags: - - zarovnání vlevo + - uvede se znaménko blank - plus se nahrazuje mezerou 0 - zarovnání nulami zleva , - lokální specifikum ( - uzavření záporných čísel do závorek Příklad: System.out.printf( "%+d %s %8.5f %tY %n", i, "=", x, time ); System.out.printf( " %2x", i ); // výpis hexadecimálně PJV04

Třída Scanner separuje řetěz či proud nejprve dle zadaných delimiterů a vzorů ( pattern ). Iterací předává a konvertuje elementy Xxx: Line, BigInteger, BigDecimal a všechny primitivní typy. Respektuje Pattern, Locale, radix. Konstruktory akceptují InputStream, File, String a Readable. Metody: boolean hasNext[Xxx] ( ) Xxx nextXxx ( ) boolean hasNext( Pattern patt ) String next( [Pattern patt] ) String findInLine( Pattern patt ) MatchResult match( ) Pattern delimiter( ) - getter Scanner useDelimiter( Pattern patt ) - setter Scanner useLocale( Locale loc ) - setter Scanner useRadix( int radix ) – setter Příklad: Scanner sc = new Scanner( new File( … ) ); while ( sc.hasNextLine( ) ) { String line=sc.nextLine(); … } PJV04

Třída StringTokenizer separuje řetěz dle zadatelných delimiterů, kterými jsou jednotlivé znaky. Pomocí enumerace ( starší varianta iterátoru ) postupně získáme podřetězy a případně i delimitery. Příklad: String s = " delta = alfa * ( beta + gama ) "; Enumeration en = new StringTokenizer( s, "=+*() ", true ); while ( en.hasMoreElements( ) ) { String z = ( String ) en.nextElement( ); if ( z.equals (" ") ) continue; // Zde vrací z postupně od mezer oproštěné řetězy: // delta, =, alfa, *, (, beta, +, gama, ) . } PJV04

Třída BitSet realizuje indexovanou množinu boolevských hodnot { false | true }. Umí logické operace, výběr podmnožiny, vyhledání nejbližšího prvku dané hodnoty, zjištění kardinality a další i hromadné modifikace. V konstruktoru lze zadat rozsah množiny - ta se však podle potřeby dynamicky rozšiřuje Metody: boolean get( int index ) – získání hodnoty void set( int index, boolean value ) – nastavení hodnoty BitSet set( int from, int to, boolean value ) – nastavení hodnot void and( BitSet x ), andNot( BitSet x ), or( BitSet x ), xor( BitSet x ) boolean intersect( BitSet x ) – test průniku množin void flip( int index ), flip( int from, int to ) – inverze hodnot int cardinality( ) - počet elementů true IntStream stream( ) – proud obsahuje indexy hodnot true 1.8 PJV04

Třída Observable a interfejs Observer DesignPattern Observer Třída Observable a interfejs Observer Pozorovanec extends Observable vede kolekci svých registrovaných pozorovatelů implements Observer jímž rozesílá oznámení o své změně. Objekt pozorovanec má private boolean atribut changed značící změnu stavu. Proto je nutné překrýt setr takto: void setChanged( ) { super. setChanged( ); } Pozorovanec dědí konkrétní metody: public void addObserver( Observer o ) - registrace pozorovatele public void deleteObserver( Observer o ) , deleteObservers( ) public int countObservers( ) - počet registrovaných pozorovatelů public void notifyObservers( [ Object arg ] ) – je-li changed true, nastaví ho na false rozešle a pak rozešle oznámení pozorovatelům. public boolean hasChanged( ) – getr atributu private boolean changed protected void setChanged( ) , clearChanged( ) – setry atributu changed Třída pozorovatele musí konkretizovat metodu pro příjem oznámení abstract void update( Observable o, Object arg ) { … } PJV04

Třída Locale a ResourceBundle definuje místní poměry, tj. jazyk a stát dle norem ISO 639 a 3166. Locale[ ] locs = Locale.getAvailableLocales( ); // celkový přehled Locale loc = Locale.getDefault( ); // en_US (např.) Locale loc1 = new Locale( "cs", "CZ" ); // cs_CZ Locale loc2 = new Locale( "sk", "SK" ); // sk_SK Bundle čili svazek zpravidla tvoří několik souborů typu properties v dostupném adresáři pomocí classpath např.: Res.properties, Res_cs_CZ.properties, Res_sk_SK.properties … kde soubor bez přívlastku reprezentuje default klíčů a hodnot. Tyto soubory obsahuji řádky key = value coby řetězy. ResourceBundle mess = PropertyResourceBundle.getBundle("Res", loc); PJV04

java.text Cloneable Bidi Format Break Iterator Date Format Collator java.lang Format Break Iterator Cloneable Date Format DateFormat Symbols CharacterIterator java.util Simple DateFormat Collator Attributed CharacterIterator Comparator javax.swing.text Number Format Segment RuleBased Collator Collation Key Choice Format StringCharacter Iterator Pozn Decimal Format Collation ElementIterator Attributed String Field Position Message Format Bidi Normalizer Annotation Parse Position PJV04 ALG

Abstraktní třída java.text.NumberFormat je předkem konkrétní tříd DecimalFormat a ChoiceFormat Statické metody: Locale[ ] getAvailableLocales( ) NumberFormat getInstance( [ Locale loc ] ) NumberFormat getCurrencyInstance( [ Locale loc ] ) NumberFormat getIntegerInstance( [ Locale loc ] ) NumberFormat getNumberInstance( [ Locale loc ] ) NumberFormat getPercentInstance( [ Locale loc ] ) Nestatické metody: String format( double num ) String format( long num ) Number parse( String source ) PJV04

Další užitečnosti Pseudonáhodu generuje java.util.Random: Random ( long seed ) - konstruktor void setSeed( long seed ) - nastavení semene rovnoměrně pro boolean, int, long, float, double – metodami nextBolean, nextInt, nextLong, nextFloat, nextDouble void nextBytes( byte[ ] bytes ) - zaplní pole double nextGaussian( ) - normální rozdělení ( modus 0.0 ) Pípnout umí třída java.awt.Toolkit takto: Toolkit tk = Toolkit.getDefaultToolkit( ); tk.beep( ); PJV04