130 likes | 451 Views
java. util. java.lang. java.io. java.lang. AutoCloseable. Flushable. Iterable. Objects. 1.7. <T>. java.io. 1.7. Formatter. Service Loader. MayHold CloseableResource. Closeable. <S>. java.util.stream. Scanner. java.io. Iterator. ListIterator. Serializable. <E>. <E>.
E N D
java.util java.lang java.io java.lang AutoCloseable Flushable Iterable Objects 1.7 <T> java.io 1.7 Formatter Service Loader MayHold CloseableResource Closeable <S> java.util.stream Scanner java.io Iterator ListIterator Serializable <E> <E> Iterator<String> PrimitiveIterator BitSet 1.8 <T, T_CONS> javax.xml.stream 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
java.util Comparable java.lang Date Serializable 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
java.util 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 Naming Enumeration Enumeration 1.7 Locale <T> <E> javax.accessibility String Tokenizer .LanguageRange 1.8 Accessible ResourceBundle <String> PJV04
java.util java.util.function StringJoiner Spliterator Closeable LongConsumer 1.8 <T> 1.8 1.8 .ofPrimitive Closeable LongSummary Statistics 1.8 .ofInt ZipFile java.util.function IntConsumer 1.8 JarFile IntSummary Statistics Spliterators 1.8 1.8 java.util.function DoubleConsumer 1.8 DoubleSummary Statistics 1.8 PJV04
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 proudnejprve 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 ) Stringnext([Pattern patt]) String findInLine( Pattern patt ) MatchResult match( ) Pattern delimiter( ) - getter Scanner useDelimiter( Pattern patt ) - setter Scanner useLocale( Localeloc ) - 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 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 PJV04
Třída Observable a interfejs Observer Pozorovanec (extendsObservable ) udržujekolekcisvých registrovaných pozorovatelů ( implementsObserver ). Těm při své změně rozešle oznámení. Pozorovaneczdědilkonkrétnímetody: voidaddObserver( Observer o ) - registrace voiddeleteObserver( Observer o ) , deleteObservers( ) intcountObservers( ) - početregistrovaných pozorovatelů voidnotifyObservers( [Objectarg]) – je-li changedtrue, rozešle oznámení a následně nastaví changed na false. booleanhasChanged( ) – getr atributu privatebooleanchanged protectedvoidsetChanged( ) , clearChanged( ) – setry Třída pozorovatele musí konkretizovat metodu pro příjem oznámení abstractvoidupdate( Observable o, Objectarg ) { … } Pozn: Observable a Observer z v. 1.0 neodpovídají jmenné konvenci 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ř.) Localeloc1 = new Locale( "cs", "CZ" ); // cs_CZ Localeloc2 = 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 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 Decimal Format Collation ElementIterator Attributed String Field Position Message Format Bidi Normalizer Annotation Parse Position PJV04
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