Informatika4-2018/Gyakorlat9

A MathWikiből
(Változatok közti eltérés)
a (Generics)
25. sor: 25. sor:
  
 
= Collections =
 
= Collections =
 +
Kollekciókban lehet objektumokat tárolni.
 
== List ==
 
== 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 ===
 
=== 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 ===
 
=== 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.
  
 
== Set ==
 
== Set ==

A lap 2018. november 20., 10:52-kori változata

Előző - Fel - Következő

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.

Set

HashSet

SortedSet

Map

SortedMap

Feladat

Implementáljunk egy gráf osztályt.

Előző - Fel - Következő

Személyes eszközök