Reader /Writer InputStreamReader, OutputStreamWriter

Hasonló dokumentumok
Java programozási nyelv 10. rész Input/output kezelés

Programozás I. 8. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Collections. Összetett adatstruktúrák

Java programozási nyelv

Programozási technológia

JAVA ALKALMAZÁSOK 5. ELŐADÁS 1/9/2017 1

Generikus osztályok, gyűjtemények és algoritmusok

Dinamikus adatszerkezetek. 2D generikus tömb: C++ 2D generikus tömb: C++

Dinamikus adatszerkezetek. 2D generikus tömb: C++ 2D generikus tömb: C++ 2D tömb: Java versus C++ 2D tömb: Java.

Java és web programozás

Java és web programozás

Programozási nyelvek Java

Be- és kimenet kezelése

Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Fejlett programozási nyelvek C++ Iterátorok

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

Java tutorial. Object. Nehany alaposztaly, amit ismerni illik. tostring. equals vs. ==

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

Programozási technológia

Tömbök, kollekciók és egyéb alaposztályok

ZH mintapélda. Feladat. Felület

rendszerszemlélető, adatközpontú funkcionális

Java Programozás 9. Ea: Java fájlkezelés. Sztrímtan

Mi a különbség az extends és az implements között. Mikor melyiket kell használni? Comperable-t megvalósító oasztályokban össze lehet hasonlitani

Programozási nyelvek Java

Segédanyag: Java alkalmazások gyakorlat

Példaprogramok Android alá (Lista, mentés, visszatöltés, pattogó android figura) Android alapok. Android játékfejlesztés.

Programozási nyelvek II.: JAVA

JAVA SE/ME tanfolyam tematika

Generikus Típusok, Kollekciók

Abstract osztályok és interface-ek. 7-dik gyakorlat

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

SSADM. Az SSADM (Structured System Analysis and Desing Method) egy rendszerelemzési módszertan.

Java tutorial. Be- es kimenet kezelese. A legelsoprogram. Hogyan hasznaljunk fajlokat? Bemenet es kimenet absztrakciüja

STL. Algoritmus. Iterátor. Tároló. Elsődleges komponensek: Tárolók Algoritmusok Bejárók

Programozás I. Második ZH segédlet

Generikusok, Collections Framework JAVA PROGRAMOZÁS 5. GYAKORLAT





























Programozás I. Második ZH segédlet

TCP/IP kapcsolat Java nyelven

Debreceni Egyetem Informatika Kar. Mobiltelefon programozás és mobil adatbázis-kezelés

TERMÉKTERVEZÉS PANDUR BÉLA TERMÉKTERVEZÉS

Programozási nyelvek Java

Imperatív programozás

Java osztálykönyvtár és használata

Programozási nyelvek II.: JAVA

Bevezetés a programozásba 2

WebSphere Adapters. 6. változat 2. alváltozat. WebSphere Adapter for SAP Software felhasználói kézikönyv 6. változat 2. kiadás

Programozási nyelvek Java

13. Állományok, bejegyzések 14. Folyamok 15. Közvetlen hozzáférésű állomány. Programozási technológia (Java) - III. / 1

C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat

117. AA Megoldó Alfréd AA 117.

Adattárház automatizálási tapasztalatok a Generali Biztosítóban

Adatok szűrése, rendezése

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek

Adatbázisok* tulajdonságai

INFORMATIKAI ALAPISMERETEK

OPERÁCIÓS RENDSZEREK 1. ÁTIRÁNYÍTÁSOK, SZŰRŐK

JAVA PROGRAMOZÁS 7.ELŐADÁS

Egyszerű programozási tételek

A Java nyelv IV. rész - appletek, hálózati alkalmazások fejlesztése

Programozási technológia 2.

strings.xml res/values/strings.xml fájlban hozzuk létre a hiányzó string adatforrásainkat A jelenlegi helyett ez álljon: <resources> <string

ADATBÁZISKEZELÉS ADATBÁZIS

19. Hasításos technikák (hash-elés)

Java Servlet technológia


Programozás C++ -ban 2007/4

MDAC - Microsoft Data Access Components

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

J2SE 1.5 Tiger. Bevezetés. Metaadatok. Generikus típus. J2SE 1.5 Tiger. Viczián István (viczian.istvan a gmail-en)

Átírás:

9. gyakorlat

Input, output A Java adatfolyamokkal dolgozik (stream). [Ez olyan objektum, ahova tesszük vagy kapjuk az adatot úgy, hogy nem kell foglalkozunk a file-al, hálózattal,stb.] 2 típusa van: InputStream - adatforrás OutputStream adatnyelő

Reader / Writer A legtöbb Java adatfolyam osztálynak (Java 1.0) megvan a megfelelő Reader /Writer párja (Java 1.1) Pl: InputStreamReader, OutputStreamWriter

Megfeleltetések InputStream Reader OutputStream Writer FileInputStream FileReader FileOutputStream FileWriter StringBufferInputStream StringReader ByteArrayInputStream CharArrayReader ByteArrayOutputStream CharArrayWriter PipedInputStream PipedReader PipedOutputStream PipedWriter

Standard I/O Unix fogalom standard input: a program bemenete (System.in) standard output: a program kimenete (System.out) standard error: a program hiba kimenete (System.err) A System.out és System.err PrintStream típusú objektumok, ezért közvetlenül használhatóak

Példa InputOutput.java

Konténerek A konténer osztálykönyvtár egyike a leghatékonyabb programozási eszközöknek Java 2-ben teljesen újratervezték a Java 1.x verziókban nagyon gyengére sikeredett Java 5-ben kibővítették generikus típusokra Két koncepció Kollekció (Collection): Egyéni elemek csoportja, általában valamilyen szabályossággal (listában sorrendiség, halmazban egyediség, stb.) Leképezés (Map): Kulcs-adat kettősök csoportja, a kulcsra gyors keresést biztosít

Lista adatszerkezet List (interfész) Elemeket tárol adott sorrendben ListIterator oda-vissza be lehet járni a listát és be lehet szúrni elemeket a listába elemek közé is ArrayList Tömbbel megvalósított lista, gyors elérés de lassú beszúrás/törlés LinkedList Igazi láncolt lista, gyors beszúrás/törlés de lassú elérés, plusz metódusok, hogy használható legyen stack-, queue- és dequeként: addfirst(), addlast(), getfirst(), getlast(), removefirst(), removelast()

Halmaz adatszerkezet Set (interfész) Egyedi elemeket tárol sorrendiség nélkül, a tárolt elemeknek felül kell definiálni az equals()-t HashSet Gyors keresést biztosító halmaz, a tárolt elemeknek érdemes felüldefiniálni a hashcode() metódust (hatékonyság miatt) TreeSet Rendezett halmaz (fával megvalósított)

Leképezés adatszerkezet Map (leképezés) Kulcs-adat objektum-párok csoportja, a kulcsra gyors keresést biztosít HashMap Hash-táblával implementált, keresésre/beszúrásra optimalizálva TreeMap Piros-fekete fával implementált, rendezetten tárolja az elemeket

A Java 5 előtti kollekciók hiányossága Elveszítik a típust mindig Object-eket tárolnak általános célúak nem tárolhatnak specifikus típusú objektumokat Bármi belerakható nincs típusellenőrzés csak az Object referencia kerül bele (upcast) Downcast-olni kell az elemet használat előtt!

Generikus kollekciók Típust adunk a kollekcióknak. Csak egyfajta típusú elem rakható bele Nincs Object-re konvertálás. Szintaxis: Kollekció< Típus > referencianév = new Kollekció< Típus >(); Pl: ArrayList<String> stringarray = new ArrayList<String>();

Iterátor Egy iterátor egy objektum, amely végighalad egy objektumsorozaton anélkül, hogy a felhasználó programozó tudná, hogy milyen konkrét belső struktúrája van a kollekciónak Java iterátor tudása: Kérni lehet egy Iterator objektumot a konténertől az iterator() metódushívással Kérni lehet a következő elemet a next() metódussal (a legelsőt is next()-tel kérjük!) Meg lehet kérdezni, hogy maradt-e még elem a sorozatban a hasnext() metódussal Törölni lehet az iterátorral lekért elemet remove()-val

Iterator példa ArrayList<Integer> intarray = new ArrayList<Integer>(); for ( int i = 0; i < 10; i++ ){ intarray.add( new Integer( i ) ); } for ( Iterator it = intarray.iterator(); it.hasnext(); ){ System.out.println( it.next() ); }

template-ek Lehetőség van olyan osztályok írására, melyek bizonyos attribútumai típustalanok. Példányosításnál kell megadni a típust, fordításkor jönnek létre ezek az osztályok.