logo

Hvad er forskellen mellem lister og arrays?

I programmering er lister og arrays datastrukturer, der bruges til at organisere og gemme data. Begge har deres unikke egenskaber og formål. Lister er dynamisk og fleksibel , hvilket giver mulighed for let ændring af størrelse under kørsel, mens arrays er statisk med en fast størrelse . Denne forskel påvirker hukommelsesforbrug og ydeevne.

Indholdsfortegnelse



Hvad er lister?

Lister er en alsidig datastruktur i programmering, designet til at indeholde en samling af elementer med fleksibiliteten til at håndtere forskellige datatyper . I modsætning til arrays er lister dynamisk , hvilket betyder, at deres størrelse kan ændre sig under udførelsen af ​​et program. Denne tilpasningsevne gør lister særligt nyttige til opgaver, der involverer tilføjelse eller fjernelse af elementer. Lister giver en praktisk grænseflade for udviklere til at administrere og organisere data, hvilket giver mulighed for effektive operationer som f.eks tilføjelse , indsættelse , eller sletter elementer. Evnen til dynamisk at justere deres størrelse gør lister til et effektivt værktøj til håndtering af varierende mængder af data i et program.

Hvad er Arrays?

Arrays er en grundlæggende datastruktur i programmering, der giver dig mulighed for at gemme en samling af elementer af samme datatype i en sammenhængende hukommelsesblok. Hvert element i arrayet er identificeret af et indeks, der repræsenterer dets position. Det vigtigste kendetegn ved arrays er, at de giver hurtig og direkte adgang til elementer ved hjælp af disse indekser. De giver en systematisk måde at organisere og administrere data på, hvilket gør det effektivt at hente , modificere , og manipulere oplysninger gemt i arrayet. Arrays er meget udbredt i forskellige programmeringssprog for deres enkelhed og effektivitet i håndtering af ordnede datasæt.

Forskellen mellem lister og arrays:

Aspekt



Arrays

Lister

Størrelse



Arrays har en fast størrelse indstillet under oprettelsen.

Lister er dynamiske og kan ændre sig i størrelse under kørsel.

Datatyper

Alle elementer i et array skal være af samme datatype.

Lister kan rumme elementer af forskellige datatyper.

Hukommelsestildeling

Hukommelse for hele arrayet tildeles på én gang under initialisering.

Lister tildeler dynamisk hukommelse, efterhånden som elementer tilføjes eller fjernes.

Adgangstid

Arrays giver konstant adgang til elementer gennem indeksering.

Lister kan have lidt variabel adgangstid på grund af dynamisk ændring af størrelse.

Fleksibilitet

Arrays er mindre fleksible, da deres størrelse ikke let kan ændres.

Lister er mere fleksible, hvilket tillader nem tilføjelse eller fjernelse af elementer.

Hukommelseseffektivitet

dynamisk programmering

Kan føre til hukommelsesspild, hvis størrelsen er større end nødvendigt.

Mere hukommelseseffektiv på grund af dynamisk allokering.

Fælles implementeringer

Almindelig på sprog som C/C++.

Almindelig i sprog som Python og Java.

Implementering af lister:

I det medfølgende kodeeksempel i Python initialiseres en liste til at gemme heltal (10, 20, 30). Elementer tilføjes, tilgås af indeks, ændres og fjernes. I Python bruges append-metoden til tilføjelse og fjernelse til sletning. Eksemplet demonstrerer de grundlæggende funktioner til at oprette, ændre og administrere lister i disse programmeringssprog.

C++




#include> #include> int> main() {> >// Creating an empty vector> >std::vector<>int>>myArray;> >// Adding elements to the vector> >myArray.push_back(10);> >myArray.push_back(20);> >myArray.push_back(30);> >// Displaying the elements in the vector> >std::cout <<>'Elements in the vector: '>;> >for> (>int> num : myArray) {> >std::cout << num <<>' '>;> >}> >std::cout << std::endl;> >// Accessing elements by index> >int> firstElement = myArray[0];> >int> secondElement = myArray[1];> >// Modifying an element> >myArray[1] = 25;> >// Removing an element by value> >for> (>auto> it = myArray.begin(); it != myArray.end(); ++it) {> >if> (*it == 30) {> >myArray.erase(it);> >break>;> >}> >}> >// Displaying the updated vector> >std::cout <<>'Updated vector: '>;> >for> (>int> num : myArray) {> >std::cout << num <<>' '>;> >}> >std::cout << std::endl;> >return> 0;> }> // This code is contributed by shivamgupta0987654321>

>

>

Java




import> java.util.ArrayList;> import> java.util.Iterator;> public> class> Main {> >public> static> void> main(String[] args)> >{> >// Creating an empty ArrayList> >ArrayList myArray =>new> ArrayList();> >// Adding elements to the ArrayList> >myArray.add(>10>);> >myArray.add(>20>);> >myArray.add(>30>);> >// Displaying the elements in the ArrayList> >System.out.print(>'Elements in the ArrayList: '>);> >for> (>int> num : myArray) {> >System.out.print(num +>' '>);> >}> >System.out.println();> >// Accessing elements by index> >int> firstElement = myArray.get(>0>);> >int> secondElement = myArray.get(>1>);> >// Modifying an element> >myArray.set(>1>,>25>);> >// Removing an element by value> >Iterator iterator = myArray.iterator();> >while> (iterator.hasNext()) {> >int> element = iterator.next();> >if> (element ==>30>) {> >iterator.remove();> >break>;> >}> >}> >// Displaying the updated ArrayList> >System.out.print(>'Updated ArrayList: '>);> >for> (>int> num : myArray) {> >System.out.print(num +>' '>);> >}> >System.out.println();> >}> }>

>

>

Python3




# Creating an empty list> my_list>=> []> # Adding elements to the list> my_list.append(>10>)> my_list.append(>20>)> my_list.append(>30>)> # Displaying the elements in the list> print>('Elements>in> the>list>:', my_list)> # Accessing elements by index> first_element>=> my_list[>0>]> second_element>=> my_list[>1>]> # Modifying an element> my_list[>1>]>=> 25> # Removing an element> my_list.remove(>30>)> # Displaying the updated list> print>('Updated>list>:', my_list)>

>

>

C#




using> System;> using> System.Collections.Generic;> class> Program> {> >static> void> Main()> >{> >// Creating an empty list> >List<>int>>myArray =>new> List<>int>>();> >// Adding elements to the list> >myArray.Add(10);> >myArray.Add(20);> >myArray.Add(30);> >// Displaying the elements in the list> >Console.Write(>'Elements in the list: '>);> >foreach> (>int> num>in> myArray)> >{> >Console.Write(num +>' '>);> >}> >Console.WriteLine();> >// Accessing elements by index> >int> firstElement = myArray[0];> >int> secondElement = myArray[1];> >// Modifying an element> >myArray[1] = 25;> >// Removing an element by value> >for> (>int> i = 0; i { if (myArray[i] == 30) { myArray.RemoveAt(i); break; } } // Displaying the updated list Console.Write('Updated list: '); foreach (int num in myArray) { Console.Write(num + ' '); } Console.WriteLine(); } }>

>

>

Javascript




// Creating an empty array> let myArray = [];> // Adding elements to the array> myArray.push(10);> myArray.push(20);> myArray.push(30);> // Displaying the elements in the array> console.log(>'Elements in the array:'>, myArray);> // Accessing elements by index> let firstElement = myArray[0];> let secondElement = myArray[1];> // Modifying an element> myArray[1] = 25;> // Removing an element (in this case, removing by value)> let indexToRemove = myArray.indexOf(30);> if> (indexToRemove !== -1) {> >myArray.splice(indexToRemove, 1);> }> // Displaying the updated array> console.log(>'Updated array:'>, myArray);>

>

>

Produktion

Elements in the vector: 10 20 30 Updated vector: 10 25>

Implementering af arrays:

I C++, C, Python, Java og JavaScript opretter koden et array med elementer (10, 20, 30), får adgang til og ændrer elementer efter indeks og viser det opdaterede array. Syntaksen og de specifikke metoder er forskellige på tværs af sprog, men de grundlæggende array-operationer forbliver konsekvente og viser, hvordan man manipulerer og itererer gennem arrays.

C++




#include> using> namespace> std;> int> main() {> >// Creating an array> >int> myArray[3] = {10, 20, 30};> >// Accessing elements by index> >int> firstElement = myArray[0];> >int> secondElement = myArray[1];> >// Modifying an element> >myArray[1] = 25;> >// Displaying the elements in the array> >for> (>int> i = 0; i <3; ++i) {> >cout << myArray[i] << ' ';> >}> >return> 0;> }>

>

>

C




#include> int> main() {> >// Creating an array> >int> myArray[3] = {10, 20, 30};> >// Accessing elements by index> >int> firstElement = myArray[0];> >int> secondElement = myArray[1];> >// Modifying an element> >myArray[1] = 25;> >// Displaying the elements in the array> >for> (>int> i = 0; i <3; ++i) {> >printf>('%d ', myArray[i]);> >}> >return> 0;> }>

>

>

Java




public> class> ArrayExample {> >public> static> void> main(String[] args) {> >// Creating an array> >int>[] myArray = {>10>,>20>,>30>};> >// Accessing elements by index> >int> firstElement = myArray[>0>];> >int> secondElement = myArray[>1>];> >// Modifying an element> >myArray[>1>] =>25>;> >// Displaying the elements in the array> >for> (>int> i =>0>; i <>3>; ++i) {> >System.out.print(myArray[i] + ' ');> >}> >}> }>

>

>

Python3




# Creating an array (using a list)> my_array>=> [>10>,>20>,>30>]> # Accessing elements by index> first_element>=> my_array[>0>]> second_element>=> my_array[>1>]> # Modifying an element> my_array[>1>]>=> 25> # Displaying the elements in the array> for> element>in> my_array:> >print>(element, end>=>' ')>

>

>

hvordan man konverterer fra int til streng i java

C#




using> System;> class> Program> {> >static> void> Main()> >{> >// Creating an array> >int>[] myArray = { 10, 20, 30 };> >// Modifying an element> >myArray[1] = 25;> >// Displaying the elements in the array> >foreach> (>int> element>in> myArray)> >{> >Console.Write(element + ' ');> >}> >}> }>

>

>

Javascript




// Creating an array> let myArray = [10, 20, 30];> // Accessing elements by index> let firstElement = myArray[0];> let secondElement = myArray[1];> // Modifying an element> myArray[1] = 25;> // Displaying the elements in the array> for> (let i = 0; i console.log(myArray[i]); }>

>

>

Produktion

10 25 30>

Afslutningsvis tilbyder arrays en fast størrelse , sammenhængende hukommelsesstruktur med effektiv elementadgang hvorimod lister giver dynamisk dimensionering , fleksibilitet , og indbyggede metoder for at lette manipulationen. Valget mellem de to afhænger af de specifikke krav til applikationen, hvor arrays udmærker sig i scenarier, hvor fast størrelse og direkte hukommelsesadgang er kritisk, og lister viser sig at være fordelagtige til dynamiske data og forskellige operationer. I sidste ende gør forståelsen af ​​de unikke funktioner i hver datastruktur det muligt for udviklere at træffe informerede beslutninger baseret på kravene til deres programmeringsopgaver.