A múltkori bejegyzésben ott hagytam abba, hogy kész a java.time. Ez a JAVA tanfolyam tematikájában Dátumkezelés JAVA SE 8 után néven fut, utána jött még a JodaTime. Nem volt nehéz, aki ismeri a JAVA-t az tudja, hogy gyakorlatilag a modern JAVA-s dátumkezelés a JodaTime nevű dátumkezelésen alapul, azt váltotta le, így könnyen el lehetett sajátítani.
Ami izgalmasabb volt, az a tematikában a 24. pont: Interface, Comparable, Arrays osztály, Comparator, algoritmusok lépésszáma részek voltak. Érdemes ezekre a linkekre kattintani, mert a StudiCore megalkotójának PDF-jeire vezetnek. A fejlécben ugyan programozas-oktatas.hu szerepel, de hasonló doksik vannak a StudiCore rendszerében is.
Tartalomjegyzék
Interface
Az Interface fogalma nem volt nehéz, könnyen érthető, és persze itt is a gyakorlati feladatokkal értettem meg igazán az elméletet.
Comparable, Arrays, Comparator
Erre a részre ráment a tegnapi szombatom nagy része, 11 órától este 11-ig programoztam, kb. másfél óra megszakítással. Egyszerűen nem állt össze a kép, hogyan működik az Arrays.sort(), hogyan kell együtt működnie.
Aztán kimentem sétálni, és közben megpróbáltam elképzelni a dolgokat. Vicces, de sikerült, így hazatérve ellenőriztem a sejtésem, és sikerült is megoldanom az elakadást.
Nem tudom, el lehet-e érthetően magyarázni a problémát, de megpróbálom. Aki már régóta programoz JAVA-ban, biztos nevetségesnek tartja, aki meg nem hallott még róla, kínainak fogja olvasni. De lehet idetalál majd olyan, aki szintén ezen a szinten van a programozó képzés során, aztán neki segíthet.
Megírtam a különféle Comparator osztályokat, melyek el is végezték a megfelelő rendezéseket. Létrehoztam egy tömböt, melybe beleraktam egy bizonyos típusú elemeket. És egyszerűen nem esett le, hogyan tovább. Hogyan adom oda a tömbömet a Comparator osztályoknak, hogy egy-egy rendezett tömböm legyen a végén.
És ott volta megoldás a fent belinkelt Arrays osztály PDF-ben, csak egy kicsit át kellett alakítanom. Na ezt álmodtam meg a séta közben, amikor elképzeltem, mi mit csinál. Természetesen az Arrays.sort végzi el a rendezést, már csak meg kellet mondanom, hogy melyik tömbön, és milyen rendezést csináljon meg.
Egy utolsó feladattal megint órákat szenvedtem, nem lövöm le a poént, aki eljut a StudiCore Comparator részéhez, majd meglátja. Azóta már megcsináltam a programozó tanfolyam egy szorgalmi feladatát is, és fejből ment az Arrays.sort() és a különféle Comparator osztályok megírása és alkalmazása. Ezzel nem magamat szeretném vállon veregetni, csak ismét bebizonyosodott, hogy amit az ember egyszer magától kitalál, azt később nem fogja elfelejteni.
List, Set, Map, tárolási algoritmusok, előnyök, hátrányok, mikor mit használj, adattárolók fejlesztése
Ma elkezdtem a 25. részt, amely a List, Set, Map, tárolási algoritmusok, előnyök, hátrányok, mikor mit használj, adattárolók fejlesztése címet kapta. Végre van ArrayList, ami jelentősen megkönnyítette az életem 🙂
Korábban, amikor egy-egy tömbös feladat volt, rendre az ArrayList lett volna a legkönnyebb megoldás, de azt még nem tanultuk, és a feladat kifejezetten tömb felhasználását írta elő. Napról-napra tudom értékelni, hogy a JAVA milyen logikus, ahogy haladunk előre az online JAVA programozó képzés során, mindig vannak tanult eszközök, amiket felvált egy újabb, könnyebben használt eszköz.
És olyan szintű tudásbeli ugrások vannak az egyes StudiCore fejezetek között, hogy az valami durva. Ezeken mind végig menten, a fejemben vannak, és lassan készségszinten tudom használni őket. Hihetetlen, hogy 2 hónapja még a switch használatán kellett gondolkodnom, utána meg nehezen tudtam elképzelni a két dimenziós tömböket. Aztán az egyes osztályok private adattagjait nem láttam más osztályokból, aztán megszenvedtem a dátumkezeléssel is.
Ehhez képest ma meg már a Kollekciókról tanultam, és csak úgy mellékesen volt benne pár dátumkezelés is, és el sem hiszem, hogy ezzel valamikor órákat el tudtam szenvedni.
Most 23:45 van, nemrég abbahagytam a programozást, mert a mai nagyfeladatot másodszor csesztem tönkre, így már nem állok neki, megkeresni a hibát. Vicces, hogy amikor 99%-ban kész van valami, akkor fáradt el az ember 🙂 Majd legközelebb friss fejjel megint pillanatok alatt megoldom.
Programozó képzés: folytatás
Amint átlépek a mostani feladaton, hátra lesz még a Set és a Map, és akkor a 25. pont is kipipálva a tematikában. Felkészült a 26. fejezet, a Kivételkezelés (exceptions).