Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Hvad er et array? | Arrays
Java Grundlæggende

Hvad er et array?

Stryg for at vise menuen

Arrays

At gemme information udelukkende i variabler er ikke altid praktisk, da det ville forbruge en betydelig mængde stack-hukommelse og kræve mange kodelinjer.

Løsningen på dette problem er arrays.

Note
Definition

Et array er en beholder, der kan indeholde et fast antal objekter af samme type.

Lad os se på den grundlæggende syntaks for at erklære et array i Java:

Main.java

Main.java

1
dataType[] arrayName = new dataType[capacity];

Vi kan bruge enhver datatyp, når vi erklærer et array, inklusive int, float, char og flere.

Det er obligatorisk at angive størrelsen på arrayet i kantede parenteser ([]). Lad os se et eksempel på oprettelse af et array af typen int med en størrelse på 5:

Main.java

Main.java

12345678910
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Prints the size of the array System.out.println(intArray.length); } }

Som du måske har bemærket, brugte vi noget nyt med konsoludskriften — en array-egenskab.

Arrays har deres egne egenskaber, som tilgås ved hjælp af punktum (.)-notation. I vores eksempel bruger arrayet intArray en af disse egenskaber. .length-egenskaben returnerer størrelsen på arrayet som en int-værdi. Dette kan også skrives på en anden måde:

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Declares a new int with the value of the array's size int length = intArray.length; // Prints the size of the array System.out.println(length); } }

Lad os nu se på tre grundlæggende metoder og egenskaber til at arbejde med arrays:

  • Arrays.sort(array): sorterer elementerne i arrayet i stigende rækkefølge;
  • Arrays.fill(array, value): sætter alle elementer i arrayet til den angivne værdi;
  • Arrays.toString(array): konverterer arrayet til en strengrepræsentation, hvilket gør det nemmere at vise dets elementer.
Note
Bemærk

Disse metoder kommer fra hjælpeklassen java.util.Arrays. For at bruge dem skal din kode importere denne klasse i starten.

Main.java

Main.java

1234567891011121314151617
package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int[] array = {5, 2, 9, 1, 6}; // Sort the array Arrays.sort(array); System.out.println("Sorted array: " + Arrays.toString(array)); // Fill the array with the value 0 Arrays.fill(array, 0); System.out.println("Array after filling: " + Arrays.toString(array)); } }

Først sorteres arrayet i stigende rækkefølge ved hjælp af Arrays.sort() og den sorterede array vises med Arrays.toString(), som konverterer arrayet til et læsbart strengformat. Derefter erstattes alle elementer i arrayet med 0 ved hjælp af Arrays.fill(), og den opdaterede array udskrives i det samme læsbare format.

Note
Bemærk

array er blot et eksempelnavn for arrayet. Du kan navngive arrayet, som du ønsker, afhængigt af opgavens krav eller dine præferencer.

Hvordan tilgås specifikke data i et array?

Arrays i Java er indekserede. Hvert element i arrayet er placeret i sin egen celle og tildelt en unik ID. Nummereringen af elementerne i arrayet starter ved 0. Antag, at vi har et array af tal fra nul til ni, så det indeholder 10 elementer.

Lad os se på et diagram, der illustrerer, hvordan elementerne er organiseret i arrayet:

Hvis vi har et array med 10 elementer, vil det første element blive gemt ved indeks 0, og det sidste ved indeks 9, fordi indeksering starter fra nul.

Note
Bemærk

I programmering bruger arrays nul-baseret indeksering, hvilket betyder, at det første element er på position 0. Formlen N-1 hjælper med at beregne et elements position i arrayet, hvor N er elementets nummer (startende fra 1), og N-1 er dets indeks i arrayet.

Praksis er altid bedre end kun teori, så her er et eksempel på at tilføje og fjerne elementer fra et array ved hjælp af indekser:

Main.java

Main.java

12345678910111213141516
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Fills the array with numbers from 1 to 5 intArray[0] = 1; intArray[1] = 2; intArray[2] = 3; intArray[3] = 4; intArray[4] = 5; // Prints the fourth element of the array System.out.println(intArray[3]); } }

Vi har udfyldt vores array med elementer fra et til fem ved at angive hvert element med et indeks. Denne metode er dog ikke særlig elegant og kræver mange linjer kode. Lad os undersøge en alternativ måde at erklære et array på, som allerede er forudfyldt:

Main.java

Main.java

12345678910
package com.example; public class Main { public static void main(String[] args) { // Declares a new pre-filled int array with a length of 5 int[] intArray = {1, 2, 3, 4, 5}; // Prints the first element of the array System.out.println(intArray[0]); } }

Vi har oprettet et array, der er identisk med det, vi lavede tidligere, men denne gang krævede det færre linjer kode og fremstår mere elegant.

Det er vigtigt at bemærke, at når denne array-notation bruges, skal elementerne være omsluttet af krøllede parenteser ({}) og adskilt med kommaer.

Note
Bemærk

Når et array deklareres på denne måde, angiver vi ikke størrelsen eksplicit. Kompileren bestemmer automatisk den nødvendige længde på arrayet ud fra de angivne elementer og udfylder det derefter.

1. Hvad bliver udskrevet, når vi kører denne kode?

2. Hvad bliver udskrevet, når vi kører denne kode?

question mark

Hvad bliver udskrevet, når vi kører denne kode?

Vælg det korrekte svar

question mark

Hvad bliver udskrevet, når vi kører denne kode?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Hvad er et array?

Arrays

At gemme information udelukkende i variabler er ikke altid praktisk, da det ville forbruge en betydelig mængde stack-hukommelse og kræve mange kodelinjer.

Løsningen på dette problem er arrays.

Note
Definition

Et array er en beholder, der kan indeholde et fast antal objekter af samme type.

Lad os se på den grundlæggende syntaks for at erklære et array i Java:

Main.java

Main.java

1
dataType[] arrayName = new dataType[capacity];

Vi kan bruge enhver datatyp, når vi erklærer et array, inklusive int, float, char og flere.

Det er obligatorisk at angive størrelsen på arrayet i kantede parenteser ([]). Lad os se et eksempel på oprettelse af et array af typen int med en størrelse på 5:

Main.java

Main.java

12345678910
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Prints the size of the array System.out.println(intArray.length); } }

Som du måske har bemærket, brugte vi noget nyt med konsoludskriften — en array-egenskab.

Arrays har deres egne egenskaber, som tilgås ved hjælp af punktum (.)-notation. I vores eksempel bruger arrayet intArray en af disse egenskaber. .length-egenskaben returnerer størrelsen på arrayet som en int-værdi. Dette kan også skrives på en anden måde:

Main.java

Main.java

123456789101112
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Declares a new int with the value of the array's size int length = intArray.length; // Prints the size of the array System.out.println(length); } }

Lad os nu se på tre grundlæggende metoder og egenskaber til at arbejde med arrays:

  • Arrays.sort(array): sorterer elementerne i arrayet i stigende rækkefølge;
  • Arrays.fill(array, value): sætter alle elementer i arrayet til den angivne værdi;
  • Arrays.toString(array): konverterer arrayet til en strengrepræsentation, hvilket gør det nemmere at vise dets elementer.
Note
Bemærk

Disse metoder kommer fra hjælpeklassen java.util.Arrays. For at bruge dem skal din kode importere denne klasse i starten.

Main.java

Main.java

1234567891011121314151617
package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int[] array = {5, 2, 9, 1, 6}; // Sort the array Arrays.sort(array); System.out.println("Sorted array: " + Arrays.toString(array)); // Fill the array with the value 0 Arrays.fill(array, 0); System.out.println("Array after filling: " + Arrays.toString(array)); } }

Først sorteres arrayet i stigende rækkefølge ved hjælp af Arrays.sort() og den sorterede array vises med Arrays.toString(), som konverterer arrayet til et læsbart strengformat. Derefter erstattes alle elementer i arrayet med 0 ved hjælp af Arrays.fill(), og den opdaterede array udskrives i det samme læsbare format.

Note
Bemærk

array er blot et eksempelnavn for arrayet. Du kan navngive arrayet, som du ønsker, afhængigt af opgavens krav eller dine præferencer.

Hvordan tilgås specifikke data i et array?

Arrays i Java er indekserede. Hvert element i arrayet er placeret i sin egen celle og tildelt en unik ID. Nummereringen af elementerne i arrayet starter ved 0. Antag, at vi har et array af tal fra nul til ni, så det indeholder 10 elementer.

Lad os se på et diagram, der illustrerer, hvordan elementerne er organiseret i arrayet:

Hvis vi har et array med 10 elementer, vil det første element blive gemt ved indeks 0, og det sidste ved indeks 9, fordi indeksering starter fra nul.

Note
Bemærk

I programmering bruger arrays nul-baseret indeksering, hvilket betyder, at det første element er på position 0. Formlen N-1 hjælper med at beregne et elements position i arrayet, hvor N er elementets nummer (startende fra 1), og N-1 er dets indeks i arrayet.

Praksis er altid bedre end kun teori, så her er et eksempel på at tilføje og fjerne elementer fra et array ved hjælp af indekser:

Main.java

Main.java

12345678910111213141516
package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Fills the array with numbers from 1 to 5 intArray[0] = 1; intArray[1] = 2; intArray[2] = 3; intArray[3] = 4; intArray[4] = 5; // Prints the fourth element of the array System.out.println(intArray[3]); } }

Vi har udfyldt vores array med elementer fra et til fem ved at angive hvert element med et indeks. Denne metode er dog ikke særlig elegant og kræver mange linjer kode. Lad os undersøge en alternativ måde at erklære et array på, som allerede er forudfyldt:

Main.java

Main.java

12345678910
package com.example; public class Main { public static void main(String[] args) { // Declares a new pre-filled int array with a length of 5 int[] intArray = {1, 2, 3, 4, 5}; // Prints the first element of the array System.out.println(intArray[0]); } }

Vi har oprettet et array, der er identisk med det, vi lavede tidligere, men denne gang krævede det færre linjer kode og fremstår mere elegant.

Det er vigtigt at bemærke, at når denne array-notation bruges, skal elementerne være omsluttet af krøllede parenteser ({}) og adskilt med kommaer.

Note
Bemærk

Når et array deklareres på denne måde, angiver vi ikke størrelsen eksplicit. Kompileren bestemmer automatisk den nødvendige længde på arrayet ud fra de angivne elementer og udfylder det derefter.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 1
some-alt