Forskellen Mellem Arrays Og Matrixlister

Forskellen Mellem Arrays Og Matrixlister
Forskellen Mellem Arrays Og Matrixlister

Video: Forskellen Mellem Arrays Og Matrixlister

Video: Forskellen Mellem Arrays Og Matrixlister
Video: Мета-теги Facebook Open Graph (эффект снежного кома) Используйте протокол Open Graph для увеличения трафика 2024, November
Anonim

Arrays vs Arraylists

Arrays er den mest anvendte datastruktur til at gemme en samling af elementer. De fleste programmeringssprog giver metoder til let at erklære arrays og få adgang til elementer i arrays. En arraylist kan ses som et dynamisk array, som kan vokse i størrelse. På grund af denne grund behøver programmøren ikke at kende størrelsen på arraylisten, når hun definerer den.

Hvad er arrays?

Vist i figur 1 er et stykke kode, der typisk bruges til at deklarere og tildele værdier til en matrix. Figur 2 viser, hvordan en matrix vil se ud i hukommelsen.

værdier [0] = 100;

værdier [1] = 101;

værdier [2] = 102;

værdier [3] = 103;

værdier [4] = 104;

Figur 1: Kode til erklæring og tildeling af værdier til en matrix

100 101 102 103 104 Indeks: 0 1 2 3 4

Figur 2: Array gemt i hukommelsen

Ovenfor kode definerer en matrix, der kan gemme 5 heltal, og de fås adgang til ved hjælp af indeks 0 til 4. En vigtig egenskab ved en matrix er, at hele arrayet er allokeret som en enkelt hukommelsesblok, og hvert element får sit eget rum i arrayet. Når en matrix er defineret, er dens størrelse rettet. Så hvis du ikke er sikker på størrelsen af arrayet på kompileringstidspunktet, bliver du nødt til at definere en stor nok array til at være i den sikre side. Men for det meste vil vi faktisk bruge færre antal elementer, end vi har tildelt. Så en betydelig mængde hukommelse spildes faktisk. På den anden side, hvis "stort nok array" faktisk ikke er stort nok, ville programmet gå ned.

Hvad er Arraylists?

En arraylist kan ses som et dynamisk array, som kan vokse i størrelse. Derfor er arraylister ideelle til at blive brugt i situationer, hvor du ikke kender størrelsen på de nødvendige elementer på erklæringstidspunktet. I Java kan arraylister kun indeholde objekter, de kan ikke indeholde primitive typer direkte (du kan placere de primitive typer inde i et objekt eller bruge wrapper-klasser af de primitive typer). Generelt er arraylister forsynet med metoder til at udføre indsættelse, sletning og søgning. Tidskompleksitet ved adgang til et element er o (1), mens indsættelse og sletning har en tidskompleksitet på o (n). I Java kan arraylister krydses ved hjælp af foreach-sløjfer, iteratorer eller blot ved hjælp af indekserne.

Hvad er forskellen mellem Arrays og Arraylists

Selvom arrays og arraylister er ens i den forstand, at de begge bruges til at gemme samlinger af elementer, adskiller de sig i, hvordan de defineres. Størrelsen på arrayet skal angives, når en array er defineret, men du kan definere en arraylist uden at kende den faktiske størrelse. Du kan føje elementer til en matrixliste, når den er defineret, og dette er ikke muligt med arrays. Men i Java kan arraylister ikke indeholde primitive typer, men arrays kan bruges til at indeholde primitive typer. Men hvis du har brug for en datastruktur, der kan variere dens størrelse, ville arraylist være det bedste valg.

Anbefalet: