Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Iterator<String>

Podobné prezentace


Prezentace na téma: "Iterator<String>"— Transkript prezentace:

1 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

2 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

3 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

4 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

5 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 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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


Stáhnout ppt "Iterator<String>"

Podobné prezentace


Reklamy Google