Különbség a lista és a készlet között

Fő különbség - Lista vs Készlet
 

A legtöbb programozási nyelv tömböket használ azonos típusú adatkészlet tárolására. A tömbök egyik fő hátránya, hogy ha a tömb méretét deklarálják, akkor nem módosítható. Ha a programozó a tömb méretét meghaladó értékeket akar tárolni, akkor új tömböt kell létrehoznia, és a meglévő elemeket az új tömbbe kell másolnia. Ilyen esetekben a gyűjtemények felhasználhatók. A gyűjtemények segítségével elemeket lehet hozzáadni, elemeket törölni és sok más műveletet elvégezni. Különböző típusú gyűjtemények érhetők el programozási nyelveken, például a Java. A List és a Set a gyűjteményhierarchia interfészei. Más interfészek alapfelülete a Collection. Az kulcs különbség a Lista és a Set között ez A lista támogatja ugyanazon elem többszöri tárolását, míg a Set nem támogatja ugyanazon elem többszöri tárolását. Ezért a készlet nem engedélyezi a másolatot.

TARTALOMJEGYZÉK

1. Áttekintés és a legfontosabb különbség
2. Mi az a lista?
3. Mi van beállítva?
4. A lista és a készlet hasonlóságai
5. Összehasonlítás egymással - Lista vs. táblázatos formában
6. Összegzés

Mi az a Lista?

A lista egy felület, amely kiterjeszti a Gyűjtemény felületet. A Gyűjtemény felületen számos módszer létezik. Az add metódus segít hozzá egy elemet. Az 'eltávolítási módszer' az elem eltávolítása. Van 'addAll módszer' több elem hozzáadásához, míg 'removeAll módszer' az elemek eltávolításához a gyűjteményből. A tartalmaz módszer segít megállapítani, hogy van-e egy adott objektum a listában, vagy sem. Az 'seesAll' célja annak megállapítása, hogy van-e objektumkészlet a gyűjteményben. Az iterator módszer a lista elemeinek áthúzására szolgál. Mivel a Lista kiterjeszti a Gyűjteményt, a Gyűjtés összes módszere a Listához tartozik. Ezeken a módszereken kívül a Lista olyan módszereket is tartalmaz, mint a get and set. A programozó megkaphat egy értéket egy adott indexen a get metódussal. A programozó beállíthat egy értéket egy adott indexre a beállított módszerrel. Az 'indexOf' elem elem indexének megkeresésére szolgál.

Egy listában a műveletek a helyzet szerint végrehajthatók. A programozó megadhatja az indexhez hozzáadandó adatelemet. Tehát hozzáadódik az adott indexhez. Ha a programozó nem ad indexet, akkor az elemet hozzáadja a lista végéhez. Ez a beillesztett sorrendet is fenntartja. Ha az 1. elemet hozzáadják, majd a 2. elemet hozzáadják, akkor az 1. elem a 2. elem előtt van.

01. ábra: Lista és készlet

Az ArrayList, LinkedList, Vector néhány olyan osztály, amely végrehajtja a Lista alkalmazást. Az ArrayList alkalmazásban az elemhez való hozzáférés gyors, de a beillesztés és törlés alacsonyabb. Az ArrayList nem biztonságos szál. Ugyanazon ArrayList több szálból való elérése nem biztos, hogy ugyanazt az eredményt adja. A LinkedListben az elemek kapcsolódnak vissza és előre. Az elemek beszúrása és törlése egy LinkedList segítségével gyorsabb, mint az ArrayList. A LinkedList végrehajtja mind a Lista, mind a Queue-t. A Vector hasonló az ArrayList-hez, de biztonságos a futófelületen, mivel az összes módszer szinkronizálva van.

Mi a készlet??

A Set egy olyan felület, amely kiterjeszti a Gyűjtemény felületet. Mivel a Set felület kiterjeszti a Gyűjteményt, a Gyűjtemény összes módszere a Sethez is tartozik. A készlet nem támogatja a párhuzamos értékeket. Ezért a programozó nem tárolhatja kétszer ugyanazt az elemet. Egyedülálló elemkészletet tart fenn. A SortedSet felület kibővíti a Set felületet. A SortedSet az elemeket rendezett sorrendben tartja fenn. A NavigableSet felület kiterjeszti a SortedSet-et. A NavigableSet olyan navigációs módszereket kínál, mint az alsó, padló, mennyezeti stb.

A HashSet, a LinkedHashSet és a TreeSet néhány olyan osztály, amely a Set felületet valósítja meg. Az Hash-halmaz eszköz felület beállítása. Nem tartja be a beszúrott sorrendet. Ha az értékeket a, x, b-ként illesztjük be, akkor ezek tárolhatók, x, a, b formában. Az LinkedSet fenntartja a beillesztett sorrendet. Ha az elemeket a, x, b sorrendbe helyezik be, akkor a tárolási sorrend a, x, b lesz. Az TreeSet a Set és a NavigableSet eszközöket hajtja végre. Nem tartja be a beszúrási sorrendet, hanem az elemeket rendezett sorrendben tárolja. Ha a beszúrt sorrend a, c, b, akkor az elemeket a, b, c formátumban tárolja. Az összes HashSet, LinkedHashSet és TreeSet nem tartalmaz másolatot.

Mik a hasonlóságok a lista és a készlet között??

  • Mind a Lista, mind a Set felületek kiterjesztik a Gyűjtési felületet.
  • Mind a Lista, mind a Set támogatási műveletek, például elemek hozzáadása, eltávolítása.

Mi a különbség a lista és a készlet között??

Lista vs készlet

A Lista Interfész a Gyűjtemény alfelülete, amely olyan műveletek végrehajtására szolgáló módszereket tartalmaz, mint például az index alapján történő beszúrás, törlés. A Set Interface a Gyűjtemény alfelülete, amely olyan műveletek végrehajtására szolgáló módszereket tartalmaz, mint például elemek beszúrása, törlése, miközben megőrzi az egyedi elemeket.
 osztályok
Az ArrayList, a Vector és a LinkedList olyan osztályok, amelyek végrehajtják a Lista felületet. A HashSet, a LinkedHashSet és a TreeSet olyan osztályok, amelyek a Set felületet valósítják meg.
Az elem sokszorosítása
A lista támogatja az elemek másolását. A készlet nem támogatja az elemek másolását. Az elemek egyediek.

összefoglalás - Lista vs Készlet

A gyűjteményeket az elemek dinamikus tárolására használják. A programozási nyelvek, például a Java, a Collection interfészt biztosítják. A List és a Set két interfész, amelyek a Gyűjtemény interfészhez tartoznak. Mindkét interfész kiterjeszti a Gyűjteményt. Ez a cikk tárgyalt a különbség a lista és a készlet között. A legfontosabb különbség a Lista és a Set között az, hogy a Lista támogatja ugyanazon elem többszörös tárolását, míg a Set nem támogatja ugyanazon elem többszörös tárolását. A készlet mindig egyedi elemeket tart fenn.

Referencia:

1.Point, oktatóanyagok. „Java gyűjtemények”., Oktatóprogramok, 2018. január 8. Elérhető itt