Erinevus loendi ja komplekti vahel

Peamine erinevus - loend vs Komplekt
 

Enamik programmeerimiskeeli kasutab sama tüüpi andmete kogumi salvestamiseks massiive. Massiivide üheks oluliseks puuduseks on see, et kui massiivi suurus on deklareeritud, ei saa seda muuta. Kui programmeerija soovib salvestada väärtusi, mis ületavad massiivi suurust, peaks ta looma uue massiivi ja kopeerima olemasolevad elemendid uude massiivi. Sellistes olukordades saab kasutada kollektsioone. Kogumike toel on võimalik elemente lisada, elemente kustutada ja palju muid toiminguid. Programmeerimiskeeltes, näiteks Java, on saadaval erinevat tüüpi kollektsioone. Loend ja komplekt on kogude hierarhia liidesed. Muude liideste baasliides on Collection. võtme erinevus loendi ja komplekti vahel on see Loend toetab sama elemendi mitu korda salvestamist, samas kui Set ei toeta sama elemendi mitmekordset salvestamist. Seetõttu ei luba komplekt paljundamist.

SISU

1. Ülevaade ja peamised erinevused
2. Mis on nimekiri
3. Mis on komplekt
4. Loendi ja komplekti sarnasused
5. Võrdlus kõrvuti - tabel vs tabel tabelina
6. Kokkuvõte

Mis on nimekiri?

Loend on liides, mis laiendab kogumisliidest. Kogumisliideses on mitmeid meetodeid. Lisamismeetod aitab elementi lisada. 'Eemalda meetod' on elemendi eemaldamine. Mitme elemendi lisamiseks on olemas meetod "addAll", elementide kogumist eemaldamiseks aga meetod "removeAll meetod". Sisaldab meetodit aitab leida, kas loendis on konkreetne objekt või mitte. Rakendus „sisaldab kõiki” on mõeldud leidmaks, kas kollektsioonis on objektide komplekt. Iteerimismeetodit kasutatakse nimekirja üksuste silmustamiseks. Kuna nimekiri laiendab kogumist, kuuluvad kõik kogumismeetodid loendisse. Peale nende meetodite on loendis selliseid meetodeid nagu hangi ja määra. Programmeerija võib saada väärtuse konkreetses indeksis, kasutades meetodit get. Programmeerija saab määratud meetodi abil väärtuse kindlale indeksile seada. Elemendi indeksi leidmiseks kasutatakse 'indexOf'.

Loendis saab toiminguid teha vastavalt positsioonile. Programmeerija saab anda andmeelemendi, mis tuleb registrisse lisada. Nii et see lisatakse konkreetsesse registrisse. Kui programmeerija ei anna indeksit, lisatakse element loendi lõppu. Samuti säilitab sisestatud järjekord. Kui lisatakse element 1 ja seejärel element2, on element1 ees element2.

Joonis 01: loend ja komplekt

ArrayList, LinkedList, Vector on mõned klassid, mis rakendavad loendit. ArrayListis on elemendile ligipääs kiire, kuid sisestamine ja kustutamine on madalam. ArrayList pole niiditurvaline. Samale ArrayListile juurdepääs mitmest lõimast ei pruugi anda sama tulemust. LinkedListis on elemendid lingitud nii tagasi kui ka edasi. Elementide sisestamine ja kustutamine LinkedList abil on kiirem kui ArrayList. LinkedList rakendab nii nimekirja kui ka järjekorda. Vektor sarnaneb ArrayListiga, kuid on turviskindel, kuna kõik meetodid on sünkroniseeritud.

Mis on komplekt?

Komplekt on liides, mis laiendab kogumisliidest. Kuna Set-liides laiendab kogumist, kuuluvad kõik kogumismeetodid ka komplekti. Komplekt ei toeta dubleerimise väärtusi. Seetõttu ei saa programmeerija sama elementi kaks korda salvestada. See säilitab ainulaadse elementide komplekti. Liides SortedSet laiendab liidest Set. SortedSet hoiab elemente järjestatud järjekorras. NavigableSet-i liides laiendab SortedSet-i. NavigableSet pakub navigeerimismeetodeid nagu alumine, põrand, lagi jne.

HashSet, LinkedHashSet ja TreeSet on mõned klassid, mis rakendavad liidese komplekti. HashSet Tööriistad Liidese määramine. Sisestatud järjekorda see ei säilita. Kui väärtused sisestatakse kujul a, x, b, võib see salvestada kujul x, a, b. LinkedSet säilitab sisestatud järjekorra. Kui elemendid sisestatakse järjestuses a, x, b, on salvestamise järjekord a, x, b. TreeSet rakendab seadeid ja NavigableSet. See ei säilita sisestamise järjekorda, vaid salvestab elemendid järjestatud järjekorras. Kui sisestatud järjekord on a, c, b, salvestatakse elemendid kujul a, b, c. Kõigil HashSet, LinkedHashSet ja TreeSet ei ole dubleerivaid elemente.

Millised on loendi ja komplekti sarnasused?

  • Nii loendi kui ka komplekti liidesed laiendavad kogumisliidest.
  • Nii loend kui ka komplekt toetavad toiminguid nagu elementide lisamine, eemaldamine.

Mis vahe on loendil ja komplektil??

Loend vs komplekt

Loendiliides on kollektsiooni alamliides, mis sisaldab meetodeid selliste toimingute tegemiseks nagu sisestamine, kustutamine indeksi alusel. Määra liides on kollektsiooni alaliides, mis sisaldab meetodeid selliste toimingute tegemiseks nagu elementide sisestamine, kustutamine, säilitades samal ajal unikaalsed elemendid.
 Klassid
ArrayList, Vector ja LinkedList on klassid, mis rakendavad loendi liidest. HashSet, LinkedHashSet ja TreeSet on klassid, mis rakendavad liidest Set.
Elemendi dubleerimine
Loend toetab elementide dubleerimist. Komplekt ei toeta elementide dubleerimist. Elemendid on ainulaadsed.

Kokkuvõte - Loend vs Komplekt

Kollektsioone kasutatakse elementide dünaamiliseks salvestamiseks. Programmeerimiskeeled, näiteks Java, pakuvad Collection-liidest. Loend ja komplekt on kaks liidest, mis kuuluvad kollektsiooni Kogumisliides. Mõlemad liidesed laiendavad kogumist. Selles artiklis käsitleti loendi ja komplekti erinevust. Peamine erinevus loendi ja komplekti vahel on see, et loend toetab sama elemendi mitmekordset salvestamist, samas kui komplekt ei toeta sama elemendi mitmekordset salvestamist. Komplekt hoiab alati ainulaadseid elemente.

Viide:

1.Punkt, juhendid. “Java kogud.”, Juhendmaterjalide punkt, 8. jaanuar 2018. Saadaval siin