ArrayList og objekter i Java
En ArrayList kan ikke kun gemme simple typer som String og Integer – den kan også gemme objekter af egne klasser.
👉 Det gør det nemt at arbejde med fx en liste af film, bøger, studerende eller hvad som helst.
Vi bruger næsten samme Film som før:
public class Film {
private String titel;
private int år;
private double rating;
public Film(String titel, int år, double rating) {
this.titel = titel;
this.år = år;
this.rating = rating;
}
public String getTitel() {
return titel;
}
public double getRating() {
return rating;
}
@Override
public String toString() {
return "Film: " + titel + " (" + år + "), rating: " + rating;
}
}
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
// Lav en liste af film
ArrayList<Film> filmListe = new ArrayList<>();
// Tilføj objekter til listen
filmListe.add(new Film("Inception", 2010, 8.8));
filmListe.add(new Film("Frozen", 2013, 7.5));
filmListe.add(new Film("The Matrix", 1999, 8.7));
// Udskriv alle film med for-each
for (Film f : filmListe) {
System.out.println(f);
}
// Brug en metode til at regne gennemsnit
double gennemsnit = beregnGennemsnitligRating(filmListe);
System.out.println("Gennemsnitlig rating: " + gennemsnit);
}
// Metode til at regne gennemsnitlig rating
public static double beregnGennemsnitligRating(ArrayList<Film> liste) {
double sum = 0;
for (Film f : liste) {
sum += f.getRating();
}
return sum / liste.size();
}
}
Film: Inception (2010), rating: 8.8
Film: Frozen (2013), rating: 7.5
Film: The Matrix (1999), rating: 8.7
Gennemsnitlig rating: 8.333333333333334
- ArrayLists kan gemme objekter af egne klasser.
- Du kan loope igennem listen og kalde metoder på hvert objekt.
- Metoder kan tage en hel
ArrayListsom parameter (fx til at regne gennemsnit).