ArrayList vs Array C#-s: erinevus ja võrdlus

C#-s on massiiv ja ArrayList teadaolevalt enimkasutatavad andmetüübid. Massiiv on C# programmeerimiskeele peamine funktsioon, samas kui C# keeles ArrayList on kogum.

Võtme tagasivõtmine

  1. ArrayList on dünaamiline, muudetava suurusega kogu, mis võib salvestada mis tahes andmetüüpi elemente, kohandades nende suurust automaatselt elementide lisamisel või eemaldamisel. Väärtustüüpide pakkimise ja lahtipakkimise tõttu võib sellel olla aga jõudluskulu.
  2. Massiivid C#-s on fikseeritud suurusega, tugevasti trükitud kogud, mis võivad salvestada kindlat andmetüüpi elemente, pakkudes paremat jõudlust, kuna on välistatud kastimine ja lahtipakkimine, kuid nõuavad lähtestamisel etteantud suurust.
  3. Peamine erinevus ArrayListi ja Array vahel C#-s on paindlikkus ja tüüpide ohutus, kuna ArrayList pakub mitme andmetüübi dünaamilist suuruse muutmist ja salvestamist. Seevastu massiivid tagavad parema jõudluse ja tüübiohutuse, kuid neil on fikseeritud suurus.

ArrayList vs massiiv C#-s

ArrayList on dünaamiline loend objektidest, mis võivad kasvada või kahaneda, samas kui massiivi suurus on fikseeritud. ArrayListil on meetodid andmetega manipuleerimiseks, näiteks elementide lisamiseks või eemaldamiseks, samas kui massiivi suurust tuleb käsitsi muuta. ArrayList saab salvestada erinevat tüüpi andmetüüpe elemente, massiiv aga sama tüüpi andmetüüpe.

ArrayListi andmetele juurdepääsuks tuleb need objekti abil silmusesse seada, samas kui massiivi puhul saate võimalik neile hõlpsasti juurde pääseda ilma esemeteta.

ArrayList vs Array C-s

 

Võrdlustabel

Võrdluse parameeterArrayListArray
KASUTUSALAArrayList on mitteüldine tüüpiMassiiv on tugevasti trükitud. Salvestada saab ainult sama andmetüübi väärtusi.
Elementide arvSee on dünaamiline, seega saab salvestada mis tahes arvu andmetüüpeLisada saab ainult kindla arvu elemente.
jõudlusSee halvendab jõudlust, kuna kasutatakse poksimist ja lahtipakkimist.Sellel on parem jõudlus.
NULL väärtusSee võib aktsepteerida NULL väärtustSee pole nii
klassSee kasutab staatilist klassiSee kasutab nimeruumi süsteemi. kogumine

 

Mis on ArrayList C#-s?

Massiiviloendid lähtestatakse loendi liidese abil. Seda peetakse üheks kõige paindlikumaks C#-i andmeteks. Programmeerimiskeelte kogu on eriklass, mis salvestab andmed ja võimaldab programmeerijatel neid hankida.

  1. ArrayListil pole fikseeritud suurust, mälumaht on dünaamiline ja saate seda soovi korral muuta. Kui kodeerija on käivitanud mälu 4 elemendi jaoks, saab lisada veel ühe elemendi.
  2. Massiiviloendis suurendatakse suurust 2^n väärtusega. Samuti on ArrayList mitteüldine, mis võimaldab meil salvestada erinevat tüüpi andmetüüpe.
  3. Mõned ArrayListi põhifunktsioonid on RemoveAt(), Remove(), Insert() ja Add().
  4. Samuti saab see salvestada nullelemendi.
Samuti loe:  Bitdefender Antivirus Plus vs täielik turvalisus: erinevus ja võrdlus

Näide

                                    Süsteemi kasutamine. kogumine;

                                    ArrayList a = new ArrayList();

                                    a.add(1, "tere");

                                    a.add(4);

                                    a.add(8.23);

                                    a.add(null);

Mõnda funktsiooni kasutatakse ArrayListis salvestatud andmetega suhtlemiseks.

  1. Add(): seda kasutatakse elementide lisamiseks loendisse ArrayList.
  2. Insert (): seda kasutatakse elementide lisamiseks ArrayListi konkreetse indeksi juurde.
  3. Remove(): seda kasutatakse üksiku elemendi eemaldamiseks,
  4. RemoveAt(): see eemaldab konkreetsed elemendid massiiviloendist.
 

Mis on massiiv C#-s?

Massiiv on andmetüüp, milles programmeerija saab salvestada sama tüüpi ja fikseeritud pikkusega andmeid. Pikkuse ja andmete väärtust ei saa käitusaja jooksul muuta. Kõigile massiivi elementidele antakse indeksi väärtused ja massiivi indeks on null.

Seega on vaikeväärtus massiivi esimese elemendi indeksi null. The süntaks massiivi deklareerimiseks ja määratlemiseks C#-s on järgmine. Kuna massiiv on võrdlusandmetüüp, eraldatakse selle mälu kuhja mällu.

                                    Int[] massiiv = uus int[] { 10,20,30,40};

                        10 20 30 40 andmed

                        0 1 2 3 Indeksid

Mõned olulised punktid massiivide kohta.

  1. Massiivi suurus on fikseeritud ja see on tugevasti trükitud. see tähendab, et kui teete näiteks täisarvu väärtuste massiivi, siis ei saa stringe salvestada.
  2. Kuna andmete lahtipakkimist või pakkimist ei toimu, toimib see paremini.

Peamised erinevused ArrayListi ja Array vahel C#-s

  1. Massiivi suurus on fikseeritud ja sisaldab kõigi sama tüüpi elementide järjestikust kogumit. Massiiviloendi suurus ei ole fikseeritud ja suureneb koos 2^n-ga.
  2. Massiivi mõõde ja iga mõõtme pikkus lähtestatakse massiivi loomisel. Massiivi pikkuse väärtuse muutmine käitusajal on võimatu. ArrayListi puhul saab massiiviloendi pikkuse väärtust dünaamiliselt muuta.
  3. Massiivi esimese elemendi indeks on 0 ja viimase elemendi indeks on n-1, kus n on massiivi suuruse pikkus.
  4. ArrayList sisaldab erinevat tüüpi andmetüüpe elemente, massiiv aga sarnaste andmetüüpide andmeid. Näiteks kui massiiv on täisarvu tüüpi, siis saab massiivi salvestada ainult täisarve.
  5. Massiiv on tugevasti trükitud andmetüüp ja selle tõhusus on parem kui ArrayList. Kuna Arraylistis on vaja lahti pakkida ja poksida, on see vähem tõhus.
  6. ArrayListi suurus suureneb automaatselt; seega peate andma mis tahes suuruse.
Erinevus X ja Y vahel 43
viited
  1. ArrayList klass (System.Collections) | Microsoft Docs
  2. https://www.itu.dk/research/c5/latest/ITU-TR-2006-76.pdf
Samuti loe:  Froyo vs Eclair: erinevus ja võrdlus

Viimati värskendatud: 11. juunil 2023

punkt 1
Üks palve?

Olen selle blogipostituse kirjutamisega nii palju vaeva näinud, et teile väärtust pakkuda. See on mulle väga kasulik, kui kaalute selle jagamist sotsiaalmeedias või oma sõprade/perega. JAGAMINE ON ♥️

25 mõtet teemal "ArrayList vs Array in C#: erinevus ja võrdlus"

  1. Kuigi erinevuste mõistmine on oluline, arvan ka, et on oluline teada, millal kasutada ArrayListi massiivide asemel ja vastupidi. Kontekst on võtmetähtsusega.

    vastus
    • Ma pole lugupidavalt nõus. Kuigi mõisted võivad teile selged olla, võivad näited tõesti kasulikud olla neile, kes vajavad mõistmisel täiendavat abi.

      vastus
  2. ArrayListi ja Array põhjalik võrdlus C#-s on suurepärane, kuid mulle meeldiks näha igaühe praktilisemaid kasutusjuhtumeid.

    vastus
    • Ma arvan, et nii massiividel kui ka ArrayListil on oma tugevad ja nõrgad küljed ning oluline on arvestada iga programmeerimisülesande spetsiifilisi nõudeid.

      vastus
    • Ma näen teie mõtet, kuid on ka juhtumeid, kus massiivide fikseeritud suurus on sobivam. Kõik sõltub töö jaoks sobiva tööriista valimisest.

      vastus

Jäta kommentaar

Kas soovite selle artikli hilisemaks salvestada? Oma artiklite kasti salvestamiseks klõpsake paremas alanurgas oleval südamel!