Skirtumas tarp sąrašo ir rinkinio „Java“
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.
- Palyginimo diagrama
- Apibrėžimas
- Pagrindiniai skirtumai
- Išvada
Palyginimo diagrama
Palyginimo pagrindas | Sąrašas | Rinkinys |
---|---|---|
Pagrindinis | Sąrašas palaiko sąraše saugomų elementų seką. | Rinkinys ne ypač palaiko įterpimo tvarką, tačiau „Linked HashSet“ palaiko įterpimo tvarką. |
Kopijavimas | Sąraše gali būti pasikartojančių elementų. | „Add ()“ metodas grąžina klaidingą, jei bandote įterpti pasikartojančius elementus. |
Metodai | Be 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“.
- Elementų / objektų seka kolekcijoje palaikoma sąraše, tuo tarpu rinkinys nepalaiko elementų tvarkos, tačiau yra išimtis, „LinkedHashSet“ palaiko įterpimo tvarką.
- 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ą.
- 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.
- 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“