Erinevused Java loendi ja massiivi loendi vahel

Java on dünaamiline keel ja seda saab kasutada igal platvormil. See pakub Java List vs ArrayList. Loend toimib liidesena ja massiiviloend on loendi rakendamine. Loendiliides koosneb meetoditest. Need meetodid on lisatud massiivi loendiklassi, lisades mõned meetodid. Peamine erinevus Java List vs ArrayList vahel on see, et peate looma viite vanemliidesele ja viite klassile, mis loendi rakendab. See tähendab, et massiivi nimekirja klass on teine ​​klass. Vaatame erinevusi Java List vs ArrayList vahel.

Java-loendi ja massiivi-loendi võrdlus (infograafika)

Allpool on neli parimat võrdlust Java loendi ja massiivi loendi vahel

Java-loendi ja massiivi-loendi peamised erinevused

Java loendi ja massiivi loendi erinevusi selgitatakse allpool nimetatud punktides:

  • Üks peamisi erinevusi Java List vs Array List vahel on see, et loend on liides ja Massiivi loend on tavaline kogumiklass.
  • Java List liides laiendab Collection ja Array loetelu laiendab Abstract List klassi ning see võib rakendada ka List liidest.
  • Loendiliides loob elementide kogumi, mida salvestatakse järjestikku ja millele on juurdepääs selle indeksinumbri järgi. Massiiviloend loob seevastu objektide massiivi, kus massiiv võib vajaduse korral dünaamiliselt kasvada ja ka väheneda.
  • Mõlemad Java loend vs massiivide loend pakuvad erinevaid meetodeid loendis olevatele andmetele juurdepääsu saamiseks. Need meetodid võimaldavad massiividelt elementide hankimisel määratud asukohta ning massiivi nimekirja korral massiivi suuruse ka eemaldada ja kahandada.

Java loend vs massiivide loendite võrdlustabel

Järgnevalt on toodud tabel Java Java vs Array List

Java loendi ja massiivi loendi võrdluse alusJava nimekiriMassiivide nimekiri
Põhiline erinevusLoend on liides, mis laiendab kogu. Kogumise laiendamisel deklareerib ta oma käitumist ja salvestab elementide jada. Loendis võib lisaks kogumikus esinevatele meetoditele olla ka mõnda muud meetodit. Loend võib sisaldada ka dubleerivaid elemente. Kui kogumit ei saa muuta, võivad paljud loendis toodud meetodid jätta toetamata operatsioonide erandi.Massiiviloend on klass, mis laiendab abstraktset loendit ja rakendab loendi liidest. Tavalised massiivid, mida Java kasutatakse, on kindla pikkusega. Kui massiiv on Java-s loodud, ei saa selle suurust suurendada ega vähendada. Massiivi loendid on dünaamilised ja neid saab luua algsuurusega ning hiljem saab seda suurendada, kui lisandub rohkem andmeid, ja ka siis, kui mõni teave eemaldatakse.
SüntaksLoendi deklareerimise süntaks on järgmine:
avaliku liidese loend laiendab kogu
Massiiviloendi deklareerimise süntaks on järgmine:
Avalik klass ArrayList laiendab AbstractListi rakenduste loendit, RandomAccess, kloonitavat, Serializable
TöötamineJava List laiendab koguraamistikku ja kasutab nimeruumi system.collection.generic. Loendit kasutatakse objektide saamiseks, mis on seotud nende indeksinumbritega. Loendiobjekti saab luua järgmiselt:
Loend a = uus ArrayList ();
Kui kasutaja on objekti loonud, saab see piirata objekti tüüpi, mida saab loendisse salvestada. Objekti võib kuulutada tüübikindlaks. Seda saab teha järgmiselt:
// Obj on objekti tüüp, mida tuleb loendisse salvestada. Loendite loend = uus Loend ();
Massiiviloend luuakse AbstractListi laiendamise teel ja rakendatakse loendiliides. Massiivi loendis kasutatav nimeruum on Süsteem. Kogud. Massiiviloendit võetakse arvesse siis, kui kasutaja peab looma dünaamilise massiivi, mis sisaldab objekte ja mida saab käituse ajal lisada ja eemaldada.
ArrayList on klass ja pakub seetõttu mõnda konstruktorit. Need konstruktorid on järgmised:
1) ArrayList (): Selle konstruktori kasutaja abil saab luua tühja massiiviloendi.2) ArrayList (kollektsioon c): Seda konstruktorit kasutatakse massiivide nimekirja koostamiseks, mis lähtestatakse elementidega, mis saadetakse kollektsiooni c.3) ArrayList (sisemine mahutavus): Massiiviloendi peamine eripära on see, et massiivide loendisse lisamisel suureneb see automaatselt. See konstruktor aitab luua kindla algmahuga massiivide nimekirja.
MeetodidLoend sisaldab erinevaid meetodeid:
1) tühine lisamine (int indeks, objekt obj)
See meetod aitab objekte sisestada. Selleks kutsutakse loend üles indeksis, mida ületatakse. Olemasolevaid elemente nihutatakse ja selle tulemusel ei kirjutata andmeid üle.
2) objekti saamine (int indeks)
See tagastab objekti, mis on salvestatud kutsutavasse kogusse sellesse konkreetsesse registrisse.
3) ListIterator listIterator ()
See funktsioon tagastab iteraatori kutsunimekirja algusesse.
4) Objekti eemaldamine (int indeks)
Seda kasutatakse elementide eemaldamiseks mainitud asukoha indeksist ja tagastatakse kustutatud üksus. Samuti tihendatakse saadud loendit ja järgnevate elementide indekseid vähendatakse ühe võrra.
5) Loend alamloendisse (int algus, int lõpp)
Tagastab loendi algusest lõpuni, kus algus on algusindeks ja lõpp on lõppindeks. Loendi elementidele saab viidata ka kutsuvale objektile.
Massiiviloend pakub järgmisi meetodeid:
1) tühine lisamine (int indeks, objekt obj)
See lisab määratud elemendi kindlaksmääratud asukohta ja viskab erandi IndexOutOfBoundsException, kui mainitud indeks on väljaspool ulatust.
2) Boolean sisaldab (objekt o)
See otsib loendist ja tagastab tõese, kui määratud element on olemas. Täpsemalt, kui loend sisaldab vähemalt ühte elementi, nii et o == null? e == null: o.equals (e)
3) objekti saamine (int indeks)
Tagastab määratud asukohas oleva elemendi ja viskab erandi IndexOutOfBoundsException, kui mainitud indeks on väljaspool ulatust.
4) tühine tagadavõimsus (int minCapacity)
See suurendab massiivi nimekirja esinemisvõimalusi. See tagab, et see mahutab minimaalset arvu elemente, mis on määratud mahutavusena.
5) objekt () array ()
Tagastab massiivi, mis koosneb kõigist elementidest loendis. Tagastab NullPointerException, kui massiiv on null.

Järeldus - Java loend vs massiivide loend

Selle tulemusel on massiivide loend lahendus staatilise massiivi mälu probleemile. Kui kasutaja kasutab massiiviloendit, luuakse dünaamiline massiiv, mida saab vajadusel suurendada. Tavaline nimekiri laiendab kollektsiooni klassi. Samuti on parem suurendada massiivi mahtu alguses, kui hiljem mälu uuesti ümber paigutada. Manipuleerimine on massiiviloendis aeglane, kuna kui mõni element loendist eemaldatakse, tuleb seda nihutada. Loendis saate teha ka erinevaid toiminguid asukoha määramiseks, otsimiseks ja vaate kuvamiseks.

Soovitatav artikkel

See on juhend peamiste erinevuste vahel Java loendi ja massiivi loendi vahel. Siin käsitleme ka Java List vs Array List peamisi erinevusi infograafika ja võrdlustabeliga. Võimalik, et leiate lisateavet järgmistest artiklitest -

  1. Java Vector vs ArrayList - milline tehnoloogia on parim?
  2. Java vs JavaScripti
  3. Scala vs Java jõudlus: kumb on parem
  4. Java Heap vs Stack
  5. C # massiiv vs nimekiri; Kasu
  6. Kasulik juhend Java-testimise intervjuuküsimuste kohta
  7. Erinevus loendi ja komplekti vahel

Kategooria: