Dauguma programavimo kalbų naudoja masyvus, kad saugotų to paties tipo duomenų rinkinį. Vienas pagrindinių masyvų trūkumų yra tas, kad paskelbus masyvo dydį, jo negalima modifikuoti. Jei programuotojas nori išsaugoti reikšmes, viršijančias masyvo dydį, jis turėtų sukurti naują masyvą ir nukopijuoti esamus elementus į naują masyvą. Tokiose situacijose galima naudoti kolekcijas. Padedant kolekcijas, galima pridėti elementų, ištrinti elementus ir atlikti daugybę kitų operacijų. Programavimo kalbomis, pvz., „Java“, yra įvairių tipų kolekcijų. Sąrašas ir rinkinys yra kolekcijų hierarchijos sąsajos. Pagrindinė kitų sąsajų sąsaja yra Kolekcija. pagrindinis skirtumas tarp sąrašo ir rinkinio yra tas Sąrašas palaiko to paties elemento saugojimą kelis kartus, o „Set“ nepalaiko to paties elemento saugojimo kelis kartus. Todėl rinkinys neleidžia kopijuoti.
1. Apžvalga ir svarbiausias skirtumas
2. Kas yra sąrašas
3. Kas yra nustatyta
4. Sąrašo ir rinkinio panašumai
5. Šalutinis palyginimas - pateikite lentelės formos sąrašą ir rinkinį
6. Santrauka
Sąrašas yra sąsaja, praplečianti kolekcijos sąsają. Kolekcijos sąsajoje yra daugybė metodų. Pridėti metodas padeda pridėti elementą. „Pašalinimo metodas“ yra elemento pašalinimas. Yra 'addAll metodas', kad būtų galima pridėti kelis elementus, o 'removeAll metodas', kad būtų pašalinti elementai iš kolekcijos. Sudėtinio turinio metodas padeda išsiaiškinti, ar sąraše yra konkretus objektas, ar ne. 'SaturAll' yra skirtas sužinoti, ar kolekcijoje yra objektų rinkinys. Iteratoriaus metodas naudojamas norint peržvelgti sąrašo elementus. Kai sąrašas pratęsia kolekciją, visi rinkimo metodai priklauso sąrašui. Išskyrus tuos metodus, sąraše yra tokių metodų kaip gauti ir nustatyti. Programuotojas gali gauti vertę konkrečiame indekse, naudodamas „get“ metodą. Programuotojas gali nustatyti vertę konkrečiame indekse, naudodamas nustatytą metodą. 'IndexOf' naudojamas elemento indeksui surasti.
Sąraše operacijas galima atlikti pagal padėtį. Programuotojas gali pateikti duomenų elementą, kurį reikia įtraukti į rodyklę. Taigi jis bus įtrauktas į konkretų rodyklę. Jei programuotojas neteikia rodyklės, elementas bus įtrauktas į sąrašo pabaigą. Tai taip pat palaiko įterptą tvarką. Jei pridedamas 1 elementas, tada pridedamas 2 elementas, tada elementas1 bus prieš elementą 2.
01 paveikslas: Sąrašas ir rinkinys
„ArrayList“, „LinkedList“, „Vector“ yra keletas klasių, įgyvendinančių sąrašą. „ArrayList“ elementą galima pasiekti greitai, tačiau įterpti ir ištrinti yra mažiau. „ArrayList“ nėra apsaugotas nuo gijų. Jei pasiekiate tą patį „ArrayList“ iš kelių gijų, rezultatas gali būti ne tas pats. „LinkedList“ elementai yra susieti tiek atgal, tiek pirmyn. Elementų įterpimas ir ištrynimas naudojant „LinkedList“ yra greitesnis nei „ArrayList“. „LinkedList“ įgyvendina sąrašą ir eilę. „Vector“ yra panašus į „ArrayList“, tačiau jis apsaugotas nuo protektoriaus, nes visi metodai yra sinchronizuoti.
Rinkinys yra sąsaja, praplečianti Kolekcijos sąsają. Kai „Set“ sąsaja išplečia kolekciją, visi rinkimo metodai taip pat priklauso rinkiniui. Rinkinys nepalaiko kopijavimo verčių. Todėl programuotojas negali du kartus išsaugoti to paties elemento. Tai palaiko unikalų elementų rinkinį. „SortedSet“ sąsaja išplečia sąsają „Set“. „SortedSet“ palaiko elementus surūšiuota tvarka. „NavigableSet“ sąsaja išplečia „SortedSet“. „NavigableSet“ teikia tokius navigacijos metodus, kaip apatinis, grindų, lubų ir kt.
„HashSet“, „LinkedHashSet“ ir „TreeSet“ yra keletas klasių, įgyvendinančių „Set“ sąsają. „HashSet“ padargai Nustatyti sąsają. Neatlieka įvestos tvarkos. Jei reikšmės įterpiamos kaip a, x, b, jos gali būti saugomos kaip x, a, b. „LinkedSet“ palaiko įterptą tvarką. Jei elementai įterpiami a, x, b tvarka, laikymo tvarka bus a, x, b. „TreeSet“ padargai „Set“ ir „NavigableSet“. Jis neišlaiko įterpimo tvarkos, tačiau kaupia elementus surūšiuota tvarka. Jei įterpta tvarka yra a, c, b, tada elementai bus saugomi kaip a, b, c. Visi „HashSet“, „LinkedHashSet“ ir „TreeSet“ neturės pasikartojančių elementų.
Sąrašas vs rinkinys | |
Sąrašo sąsaja yra antrinė kolekcijos sąsaja, kurioje pateikiami metodai operacijoms, tokioms kaip įterpimas, ištrynimas, pagrįsti rodykle. | „Set Interface“ yra antrinė kolekcijos sąsaja, kurioje yra metodų, kaip atlikti veiksmus, tokius kaip elementų įterpimas, ištrynimas, išlaikant unikalius elementus. |
Klasės | |
„ArrayList“, „Vector“ ir „LinkedList“ yra klasės, įgyvendinančios Sąrašo sąsają. | „HashSet“, „LinkedHashSet“ ir „TreeSet“ yra klasės, kurios įgyvendina „Set“ sąsają. |
Elemento kopijavimas | |
Sąrašas palaiko elementų dubliavimą. | Rinkinys nepalaiko elementų dubliavimosi. Elementai yra unikalūs. |
Kolekcijos naudojamos dinaminiam elementų saugojimui. Programavimo kalbos, tokios kaip „Java“, suteikia „Collection“ sąsają. Sąrašas ir rinkinys yra dvi sąsajos, priklausančios kolekcijos sąsajai. Abi sąsajos praplečia kolekciją. Šiame straipsnyje buvo aptariamas skirtumas tarp sąrašo ir rinkinio. Svarbiausias skirtumas tarp sąrašo ir rinkinio yra tas, kad sąrašas palaiko to paties elemento saugojimą kelis kartus, o rinkinys nepalaiko to paties elemento saugojimo kelis kartus. Rinkinys visada palaiko unikalius elementus.
1.Point, vadovėliai. „Java kolekcijos“. Vadovėlis, 2018 m. Sausio 8 d. Galima rasti čia