Skirtumas tarp sąrašo ir rinkinio „Java“

Autorius: Laura McKinney
Kūrybos Data: 2 Balandis 2021
Atnaujinimo Data: 11 Gegužė 2024
Anonim
Difference between List and Set in Java | Java Interview
Video.: Difference between List and Set in Java | Java Interview

Turinys


Sąrašo „Sąrašas“ ir „Nustatykite“ išplėtimas rinkinyje. Abu jie palaiko elementų ar daiktų kolekciją. Svarbiausias skirtumas, kuris juos skiria vienas nuo kito, yra sąrašas - užsakytų elementų rinkinys, elementai pridedami arba pašalinami arba prieinami naudojant rodyklės kintamąjį. Kita vertus, „Set“ yra objektų kolekcija, kurioje kolekcija neleidžia dubliuoti elementų. Leiskite mums išnagrinėti dar keletą skirtumų tarp Sąrašo ir Sąrašo sąsajų, naudodamiesi žemiau pateikta palyginimo lentele.

  1. Palyginimo diagrama
  2. Apibrėžimas
  3. Pagrindiniai skirtumai
  4. Išvada

Palyginimo diagrama

Palyginimo pagrindasSąrašas Rinkinys
PagrindinisSąrašas palaiko sąraše saugomų elementų seką.Rinkinys ne ypač palaiko įterpimo tvarką, tačiau „Linked HashSet“ palaiko įterpimo tvarką.
KopijavimasSąraše gali būti pasikartojančių elementų.„Add ()“ metodas grąžina klaidingą, jei bandote įterpti pasikartojančius elementus.
MetodaiBe rinkinyje apibrėžtų metodų, sąrašas apibūdina ir kai kuriuos savo metodus.Rinkinys neapibrėžia jokio papildomo metodo.
Įgyvendinimas Sąrašą įgyvendina „ArrayList“, „LinkedList“, „CopyOnWriteArrayList“, „Vector“, „Stack“.Rinkinį įgyvendina „HashSet“, „LinkedHashSet“, „EnumSet“, „TreeSet“, „CopyOnWriteArraySet“.


Sąrašo apibrėžimas

Sąrašo sąsaja išplečia kolekcijos sąsają. Sąrašas yra užsakyta elementų ar objektų kolekcija. Skirtingai nuo rinkinio, sąraše gali būti pasikartojančių elementų. Be kolekcijų sąraše apibrėžtų metodų, yra apibrėžti ir kai kurie jo metodai, tokie kaip indeksu pagrįstas get () ir set () metodas. Pridėjimo () ir šalinimo () metodai, paveldėti iš kolekcijos, pridedantys arba pašalinantys nurodytą elementą iš rodyklės, nurodytos metodo argumente. Sąrašas yra masyvas, kurio dydis auga, kai pridedame elementus į sąrašą.

Sąraše neapibrėžtas joks būdas naudoti indekso diapazoną sąraše. Tai apibrėžia sublist () metodą, kuris grąžina sublistą iš pirminio nurodyto diapazono sąrašo. Pogrupio pakeitimai taip pat rodomi pirminiame sąraše. Sąrašo sąsają įgyvendina „ArrayList“, „LinkedList“, „CopyOnWriteArrayList“, „Vector“, „Stack“.

Apibrėžimas rinkinys

Nustatyta sąsaja išplečia kolekcijos sąsają. Nustatyta sąsaja yra kolekcija arba objektų grupė, kurioje nėra jokių objektų kopijų. Tai reiškia, kad dvi nuorodos negali nurodyti vieno objekto arba viena nuoroda negali reikšti dviejų objektų arba negali būti dviejų nuorodų, nurodančių nulį. Elemento tvarka ar seka nėra svarbi aibė, tačiau nėra taip, kad ji draudžia užsakytą aibę.


Rinkos sąsaja neapibrėžia jokio metodo, be metodo, apibrėžto Kolekcijoje. Vietoj to, jis riboja rinkimo metodus „add ()“ ir „addall ()“, kad būtų galima bet kokius objektus dubliuoti kolekcijoje. Jei bandysite pridėti bet kurį kopiją objekto kolekcijoje naudodami kolekcijos pridėjimo () metodą, ji grąžins klaidingą. Priešingu atveju ji grįžta tiesa. Rinkinio sąsają įgyvendina „HashSet“, „LinkedHashSet“, „EnumSet“, „TreeSet“, „CopyOnWriteArraySet“.

  1. Elementų / objektų seka kolekcijoje palaikoma sąraše, tuo tarpu rinkinys nepalaiko elementų tvarkos, tačiau yra išimtis, „LinkedHashSet“ palaiko įterpimo tvarką.
  2. Sąraše gali būti pasikartojančių elementų, nes jis identifikuoja bet kurį elementą su jo rodykle, tačiau rinkinys neleidžia jokių pasikartojančių elementų, nes jame nėra jokio rodyklės tipo elemento, kuris identifikuotų bet kurį kolekcijos objektą.
  3. Sąrašas apibūdina kai kuriuos metodus atskirai, be metodų, apibrėžtų Kolekcijoje. Kita vertus, rinkinys neapibrėžia jokio savo metodo, tačiau jis riboja rinkimo metodus, kad būtų galima pridėti bet kokius pasikartojančius elementus.
  4. Sąrašą įgyvendina „ArrayList“, „LinkedList“, „CopyOnWriteArrayList“, „Vector“, „Stack“ sąsajos. Kita vertus, „Set“ įgyvendina „HashSet“, „LinkedHashSet“, „EnumSet“, „TreeSet“, „CopyOnWriteArraySet“ sąsajos.

Išvada:

Sąrašo Sąrašo ir rinkinio naudojimas priklauso nuo reikalavimo. Jei svarbi objektų / elementų tvarka, turite naudoti Sąrašo sąsają. Jei jums nereikia jokių kopijų elementų savo kolekcijoje, turite naudoti sąsają „Set“