~~NOTOC~~{{ :images:banner_array.png |}}
====== Arrays ======
Arrays er samlinger af data, hvor du kan gemme mange værdier af samme type under ét navn. Multidimensionelle arrays gør det muligt at arbejde med tabeller, matriser eller mere komplekse datastrukturer. At bruge arrays effektivt betyder, at du kan organisere og manipulere store mængder information på en struktureret måde. De er centrale i alt fra simple lister til avancerede algoritmer og databehandling. Når du lærer arrays, får du et stærkt værktøj til at holde styr på data, gøre koden mere overskuelig.
----
===== Arrays =====
En variabel der kan indholde flere værdier (__af samme type__)\\
Arrays har en **statisk** størrelse. (vi kalder den immutable, dvs størrelse kan ikke ændres)
----
==== Erklæring af Array ====
string[] cars = {"Tesla", "Kia", "Ford"};
eller erklæring af nyt tomt array med fast størrelse. (nøgle ord: new)
string[] cars = new string[10];
----
==== Opdatering af elementer ====
myArray[0] = "Blue":
----
==== Gennemløb af array med for loop ====
for(int i = 0; i < cars.length; i++) {
print(cars[i]);
}
for(Car c : cars){
print(c);
}
----
====== Introduktion til Arrays i Processing ======
Arrays tillader at der gemmes flere værdier i én variabel (af samme type).
Eksempel:
String[] cars = {"Camaro", "Corvette", "Tesla"};
Gennemgang af array-indeksering (starter ved 0), ændring af værdier, og fejlen "array index out of bounds".
Eksempler:
// Hent første element
System.out.println(cars[0]);
// Skift værdi
cars[0] = "Mustang";
// Ugyldigt indeks (giver fejl)
// print(cars[5]); // ArrayIndexOutOfBoundsException
==== Oprettelse & Gennemløb ====
Viser hvordan man opretter arrays med fast længde, tildeler værdier, og bruger `for`-løkker til at vise alle elementer.
Eksempel:
String[] cars = new String[3];
cars[0] = "Volvo";
cars[1] = "BMW";
cars[2] = "Audi";
for(int i = 0; i < cars.length; i++) {
print(cars[i]);
}
===== Hovedpointer =====
* 📌 Arrays gemmer flere værdier i én variabel.
* 📌 Indekser starter ved 0.
* 📌 Alle elementer skal have samme datatype.
* 📌 Man kan foruddefinere array-længde.
* 📌 `for`-løkker bruges til at gennemløbe arrays.
===== Indsigter =====
* 💡 Nul-baseret indeks kan være forvirrende i starten.
* 💡 Ens datatyper er nødvendige for korrekt funktion.
* 💡 Iteration med løkker er vigtig praksis.
* 💡 Fejlhåndtering som "out of bounds" er vigtig at kende.
* 💡 Gode navngivningskonventioner gør koden lettere at læse.
==== Øvelser ====
- [[prog:ex_arrays|Arrays #1]]
- [[prog:ex_arrays2|Arrays #2]]
- [[prog:ex_multiDimArrays|Multi dimensionelle arrays]]
Processing
- [[prog:ex_arrays_pro|Arrays i processing]]
- [[prog:ex_arrays_hangman|Hangman med arrays]]
- [[prog:ex_tictactoe_multiarray|Kryds & Bolle (multi-dimensionelt array)]]
- [[prog:ex_puzzle_multiarray|Puslespil (multi-dimensionelt array)]]
----
==== Test dig selv ====