Informatika4-2018/Gyakorlat9
A MathWikiből
(Változatok közti eltérés)
a |
|||
46. sor: | 46. sor: | ||
* Egy adott pozíció elérése időben lineáris, mert az elejétől lépkedve lehet eljutni minden elemhez. | * Egy adott pozíció elérése időben lineáris, mert az elejétől lépkedve lehet eljutni minden elemhez. | ||
+ | * Egy elem beszúrása időben konstans, mert csak a szomszédos elemeket érinti a beszúrás | ||
+ | |||
+ | +-+ +-+ -> +-+ -> +-+ -> | ||
+ | |a|\ /|b| |c| |d| | ||
+ | <- +-+ \ / +-+ <- +-+ <- +-+ | ||
+ | \ \ / / | ||
+ | \ +-+ / | ||
+ | \|x| / | ||
+ | +-+ | ||
== Set == | == Set == |
A lap 2018. november 20., 12:31-kori változata
Tartalomjegyzék |
Generics
C++ template megfelelője.
Tetszőleges metódust vagy osztályt megírhatunk úgy, hogy működjön több osztályra is. Például:
public class Main { public static <T> boolean IsIn(T[] a, T v) { for( int i = 0; i < a.length; ++i) { if (a[i].equals(v)) return true; } return false; } }
Wildcards
Collections
Kollekciókban lehet objektumokat tárolni.
List
Sorrendet őrző kollekció. Lehet beszúrni, kitörölni elemet, tetszőleges pozícióban. Le lehet kérdezni az adott pozícióban lévő elemet.
ArrayList
A List-nek olyan megvalósítása, ahol az elemek egy összefüggő memóriatartományban (tömb) helyezkednek el.
- Időben konstans költsége van egy elem elérésének
- Időben lineáris egy elem beszúrása vagy törlése, mert az összes többi elemet is mozgatni kell hozzá.
|a|b|c|d|e|f|g| -> |a|b|x|c|d|e|f|g| ^ x
LinkedList
Láncolt lista, az elemek helye nem rögzített a mamóriában, de mindegyik eltárol egy-egy referenciát ez előtte és a mögötte álló elemre, így őrzi a sorrendet.
+-+ -> +-+ -> +-+ -> +-+ -> |a| |b| |c| |d| <- +-+ <- +-+ <- +-+ <- +-+
- Egy adott pozíció elérése időben lineáris, mert az elejétől lépkedve lehet eljutni minden elemhez.
- Egy elem beszúrása időben konstans, mert csak a szomszédos elemeket érinti a beszúrás
+-+ +-+ -> +-+ -> +-+ -> |a|\ /|b| |c| |d| <- +-+ \ / +-+ <- +-+ <- +-+ \ \ / / \ +-+ / \|x| / +-+
Set
HashSet
SortedSet
Map
SortedMap
Feladat
Implementáljunk egy gráf osztályt.