Erinevus Loendi Ja Komplekti Vahel

Sisukord:

Erinevus Loendi Ja Komplekti Vahel
Erinevus Loendi Ja Komplekti Vahel

Video: Erinevus Loendi Ja Komplekti Vahel

Video: Erinevus Loendi Ja Komplekti Vahel
Video: A stream of strong supporters!! 2024, November
Anonim

Peamine erinevus - loend vs komplekt

Enamik programmeerimiskeeli kasutab massiive sama tüüpi andmete kogumi salvestamiseks. Massiivide üks oluline puudus on see, et kui massiivi suurus on deklareeritud, ei saa seda enam muuta. Kui programmeerija soovib salvestada massiivi suurust ületavaid väärtusi, peaks ta looma uue massiivi ja olemasolevad elemendid uude massiivi kopeerima. Nendes olukordades saab kasutada kollektsioone. Kogude toel on võimalik elemente lisada, elemente kustutada ja palju muid toiminguid. Programmeerimiskeeltes, näiteks Java, on saadaval erinevaid kollektsioone. Loend ja komplekt on kogude hierarhia liidesed. Muude liideste baasliides on Collection. Peamine erinevus loendi ja komplekti vahel on see, et loend toetab sama elemendi mitmekordset salvestamist, samas kui komplekt ei toeta sama elemendi mitmekordset salvestamist. Seetõttua komplekt ei luba dubleerimist.

SISU

1. Ülevaade ja peamised erinevused

2. Mis on loend

3. Mis on seatud

4. Sarnasused loendi ja komplekti vahel

5. Kõrvuti võrdlus - loend vs komplekt tabelina

6. Kokkuvõte

Mis on nimekiri?

Nimekiri on liides, mis laiendab kogu liidest. Kogumise liideses on mitmeid meetodeid. Lisamismeetod aitab elementi lisada. Eemaldamismeetod on elemendi eemaldamine. Mitme elemendi lisamiseks on meetod "addAll", elementide kogust eemaldamiseks aga meetod "removeAll method". Meetod "sisaldab" aitab leida, kas loendis on konkreetne objekt või mitte. 'SaturAll' eesmärk on leida, kas kollektsioonis on objektide kogum. Iteraatori meetodit kasutatakse loendi üksuste sirvimiseks. Kui loend laiendab kollektsiooni, kuuluvad kõik kogumise meetodid loendisse. Peale nende meetodite on loendis meetodeid nagu get and set. Programmeerija saab get-meetodi abil konkreetse indeksi väärtuse. Programmeerija saab määrata meetodi abil konkreetse indeksi väärtuse."IndexOf" kasutatakse elemendi indeksi leidmiseks.

Loendis saab toiminguid teha vastavalt asukohale. Programmeerija saab pakkuda indeksisse lisatava andmeelemendi. Nii et see lisatakse konkreetsele indeksile. Kui programmeerija indeksit ei anna, lisatakse element loendi lõppu. See hoiab ka sisestatud järjekorda. Kui lisatakse element 1 ja seejärel lisatakse element2, on element1 enne elementi2.

Erinevus loendi ja komplekti vahel
Erinevus loendi ja komplekti vahel

Joonis 01: loend ja komplekt

ArrayList, LinkedList, Vector on mõned klassid, mis rakendavad loendit. ArrayListis on elemendile juurdepääs kiire, kuid sisestamine ja kustutamine on madalam. ArrayList ei ole niidikindel. Samale ArrayListile juurdepääs mitmest lõimest ei pruugi anda sama tulemust. LinkedListis on elemendid seotud nii tahapoole kui ka edasi. Elementide sisestamine ja kustutamine LinkedListi abil on kiirem kui ArrayList. LinkedList rakendab nii loendit kui ka järjekorda. Vector sarnaneb ArrayListiga, kuid on turvises turvaline, kuna kõik meetodid on sünkroniseeritud.

Mis on seatud?

Set on liides, mis laiendab liidest Collection. Kui liides Set laiendab kollektsiooni, kuuluvad kõik kogumise meetodid ka komplekti. Komplekt ei toeta dubleerivaid väärtusi. Seetõttu ei saa programmeerija sama elementi kaks korda salvestada. See säilitab ainulaadse elementide kogumi. Liides SortedSet laiendab liidest Set. SortedSet hoiab elemendid järjestatud järjekorras. Liides NavigableSet laiendab SortedSet. NavigableSet pakub navigeerimismeetodeid nagu alumine, põrand, lagi jne.

HashSet, LinkedHashSet ja TreeSet on mõned klassid, mis rakendavad liidest Set. HashSet rakendab liidest Set. See ei säilita sisestatud järjekorda. Kui väärtused sisestatakse kui a, x, b, võib see salvestada kui x, a, b. LinkedSet hooldab sisestatud järjekorda. Kui elemendid sisestatakse järjestuses a, x, b, on salvestamise järjekord a, x, b. TreeSet rakendab komplekti Set ja NavigableSet. See ei hoia sisestamise järjekorda, vaid salvestab elemendid järjestatud järjekorras. Kui sisestatud järjekord on a, c, b, siis elemendid salvestatakse tähtedega a, b, c. Kõigil HashSetil, LinkedHashSetil ja TreeSetil pole duplikaatelemente.

Millised on loendi ja komplekti sarnasused?

  • Mõlemad loendi- ja komplektiliidesed laiendavad kogumisliidest.
  • Nii loendi- kui ka seatud tugitoimingud, näiteks elementide lisamine, eemaldamine.

Mis vahe on loendis ja komplektis?

Nimekiri vs komplekt

Loendiliides on kogu alamliides, mis sisaldab meetodeid toimingute tegemiseks, näiteks sisesta, kustuta, lähtudes indeksist. Set Interface on kogu alaliides, mis sisaldab meetodeid selliste toimingute tegemiseks nagu elementide sisestamine, kustutamine, säilitades samas 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

Kogusid kasutatakse elementide dünaamiliseks salvestamiseks. Programmeerimiskeeled nagu Java pakuvad kogumisliidest. List ja Set on kaks liidest, mis kuuluvad liidesesse Collection. Mõlemad liidesed laiendavad kollektsiooni. Selles artiklis käsitleti erinevust loendi ja komplekti vahel. Peamine erinevus loendi ja komplekti vahel on see, et loend toetab sama elemendi mitu korda salvestamist, samas kui komplekt ei toeta sama elemendi mitmekordset salvestamist. Komplektis on alati ainulaadsed elemendid.

Soovitatav: