Jelenlegi hely

Utolsó változások

24.1. Fájlok szervezése

Minden java forrásállomány egyetlen publikus osztályt vagy interfészt tartalmaz, de ezen túl tartalmazhat még privát, a forrásállományon kívül kapcsolattal nem rendelkező további osztályokat és interfészeket. A publikus típust javasolt először leírni. A publikus típus neve és a forrásfájl neve meg kell, hogy egyezzen, beleértve a kisbetű-nagybetű különbségét is.

A Java forrásállomány a következő elemeket tartalmazza:

24. Kódolási konvenciók

A kódolási konvenciók a következők miatt szükségesek:

  • A szoftver életciklus költségének 80%-a mehet el a karbantartásra
  • A szoftvereknek csak kis résztét tartja karban az eredeti fejlesztő
  • A kódolási konvenciók javítják az olvashatóságot, segítve a későbbi megértést

A konvenciókhoz mindenkinek alkalmazkodni kell a programozás folyamán. Mindenkinek.

21.4. Ellenőrző kérdések

  • Mik a gyűjtemények?
  • Milyen részei vannak a gyűjtemény keretrendszernek? Mire szolgálnak?
  • Írjon példát olyan gyűjtemény interfészre, amely engedélyezi a többszörös tárolást!
  • Írjon példát olyan gyűjtemény interfészre, amely nem engedélyezi a többszörös tárolást!
  • Mi a Set interfész specialitása más gyűjteményekhez képest?
  • Mi a List interfész specialitása más gyűjteményekhez képest?
  • Mi a Map interfész specialitása más gyűjteményekhez képest?

21.3. Algoritmusok

Ebben a fejezetben a Java platform által kínált újra felhasználható, sokalakú algoritmusok egy részével foglalkozunk. Mindegyikük a Collections osztály statikus metódusa. Az algoritmusok széles skálája a List-eknél működik. De egy pár tetszőleges kollekciók esetében is működik.

Rendezés

A sort algoritmus újrarendezi a listát. A művelet két formája adott. Az egyszerűbb forma veszi a listát, és rendezi azt az elemek természetes (alapértelmezett) sorrendjében.

21.2.3 Általános célú Map implementációk

A három általános célú Map Implementáció a HashMap, a TreeMap és a LinkedHashMap. Ha szükség van összegyűjtött információra, a TreeMap-et használjuk, ha a legjobb sebesség kell, és nem szükségesek az iterációk, használhatjuk a HashMap-et, ha az utóbbihoz hasonló sebesség kell és iteráció is, akkor használjunk LinkedHashMap-et. Hasonlóképp, a Set implementáció blokkban minden ugyanúgy működik, mint a Map implementációban.

21.2.2 Általános célú List implementációk

Két általános célú List implementáció létezik: ArrayList és LinkedList. Leggyakrabban valószínűleg az ArrayList–et fogjuk használni. Konstans elérési időt biztosít a lista elemeinek pozícionált elérésekor, egyszerű és gyors. Nem szükséges csomópont objektumot foglalni minden lista elemhez, és képes kihasználni a System.arraycopy nyújtotta előnyöket, amikor egyszerre több listaelemet kell mozgatunk.

21.2.1 Általános célú Set implementációk

Három általános célú Set implementáció létezik: HashSet, TreeSet, és LinkedHashSet. Általában egyszerű eldönteni azt, hogy melyiket kell használni. A HashSet sokkal gyorsabb, mint a TreeSet (konstans végrehajtási idő szemben a logaritmikus idővel a legtöbb művelet esetén), de nem biztosít rendezhetőséget. Ha a SortedSet interfész műveleteire, vagy egy érték szerint rendezett iterációra van szükség, akkor a TreeSet használata javasolt, egyéb esetben a HashSet.

21.2. Implementációk

Az implementációk az előző fejezetben leírt interfészeket valósítják meg (implementálják). Az alábbiakban az implementációk fajtáit láthatjuk.

21.1.5 Objektumok rendezése

Rendezzünk egy tetszőleges tartalmú l listát:

Collections.sort(l);

23.2.3 Lekérdezések eredményének feldolgozása

Nézzük meg, hogy az előző SQL parancsot hogyan lehet Javában futtatni, és hogyan lehet az eredményt kinyerni belőle.

A lekérdezést futtató executeQuery metódus egy ResultSet objektumot ad, amiből az adatokat kinyerhetjük.

Oldalak