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

Szerző: Laura McKinney
A Teremtés Dátuma: 2 Április 2021
Frissítés Dátuma: 12 Lehet 2024
Anonim
Különbség a Java és a lista és a készlet között - Technológia
Különbség a Java és a lista és a készlet között - Technológia

Tartalom


A Lista és Set felület kibővíti a Gyűjteményt. Mindkettő fenntartja az elemek vagy tárgyak gyűjteményét. Ugyanakkor a legfontosabb különbség, amely megkülönbözteti őket egymástól, a Lista, a megrendelt elemek gyűjteménye, az elemeket hozzáadják, eltávolítják vagy elérik egy index változó segítségével. Másrészt a Set objektumok gyűjteménye, amelyben a gyűjtemény nem engedi megismételni az elemeket. Vizsgáljuk meg még néhány különbséget a Lista és a Set interfészek között az alább bemutatott összehasonlító táblázat segítségével.

  1. Összehasonlító táblázat
  2. Meghatározás
  3. Főbb különbségek
  4. Következtetés

Összehasonlító táblázat

Az összehasonlítás alapjaLista Készlet
AlapvetőA lista fenntartja a listában tárolt elemek sorrendjét.A készlet nem tartja be különösen a beszúrási sorrendet, de a Linked HashSet fenntartja a beszúrási sorrendet.
sokszorosításaLehet, hogy a listában ismétlődő elemek vannak.Az add () metódus hamis értéket ad vissza, ha megpróbálja beilleszteni az ismétlődő elemeket.
MódA Gyűjteményben meghatározott módszereken kívül a List meghatározza néhány saját módszerét.A készlet nem határoz meg semmilyen további módszert.
Végrehajtás A listát az ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack valósítja meg.A készletet a HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet valósítja meg.


A lista meghatározása

A lista interfész kibővíti a Gyűjtési felületet. A lista elemek vagy objektumok rendezett gyűjteménye. A Set-től eltérően a List ismétlődő elemeket tartalmazhat. A Gyűjteménylistában meghatározott módszereken kívül meghatározza a saját módszereit is, például index alapú get () és set () metódusokat. A gyűjteményből örökölt add () és remove () metódusok, amelyek hozzáadják vagy eltávolítják a megadott elemet a metódus argumentumban megadott indexből. A lista egy olyan tömb, amelynek mérete növekszik, amikor elemeket adunk a listához.

A lista nem határoz meg semmilyen módszert a lista indexeinek tartományára való működéshez. Ez meghatároz egy allistát () metódust, amely visszatér egy allistát a megadott tartomány eredeti listájából. Az allistán végrehajtott változtatások az eredeti listában is megjelennek. A lista felületet az ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack valósítja meg.


A készlet meghatározása

A set interfész kibővíti a Collection interfészt. A set interfész egy gyűjtemény vagy objektumok csoportja, amely nem tartalmaz duplikált objektumot benne. Ez azt jelenti, hogy két referencia nem hivatkozhat egy objektumra, vagy egy referencia nem hivatkozhat két objektumra, vagy nem lehet két, Nullra utaló hivatkozás. Az elem sorrendje vagy sorrendje nem fontos halmaz, de nem az, hogy tiltja a rendezett halmazt.

A set interfész nem határoz meg semmilyen módszert a Gyűjteményben meghatározott módszer mellett. Ehelyett korlátozza az add () és az addall () módszereket a gyűjtemény bármilyen másolatának hozzáadására a gyűjteményben. Ha megkísérel bármilyen másolatot hozzáadni a gyűjteményhez az add () Gyűjtemény metódussal, akkor a hamis eredményt ad. Ellenkező esetben igaz lesz. A set felületet a HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet valósítja meg.

  1. A gyűjtemény elemeinek / objektumainak sorrendjét a Lista tartja fenn, míg a Set nem tartja be az elemek sorrendjét, de van egy kivétel, a LinkedHashSet fenntartja a beszúrási sorrendet.
  2. A lista ismétlődő elemekkel rendelkezhet, mivel bármely elemet azonosít az indexével, de a Set nem engedélyezi az ismétlődő elemek használatát, mivel nincs index típusú elem a gyűjtemény bármely objektumának azonosításához.
  3. A List néhány módszert saját maga határoz meg, a Gyűjteményben meghatározott módszerek mellett. Másrészt, a Set nem határoz meg semmiféle saját módszert, de korlátozza a Gyűjtemény módszereit bármilyen ismétlődő elem hozzáadására.
  4. A listát az ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack interfészek valósítják meg. Másrészt a Set-t a HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet interfészek valósítják meg.

Következtetés:

A Lista és Set felület használata a követelménytől függ. Ha az objektumok / elemek sorrendje fontos, akkor a Lista felületet kell használnia. Ha a gyűjteményben nem igényel másolatot, akkor a Set felületet kell használnia