I Java kan man lage arrays av enkle datatyper (slik som int[]), men disse har begrenset med funksjonalitet og har en forhåndsdefinert lengde. Ved å bruke en ArrayList kan man lage dynamiske lister med et enkelt brukergrensesnitt for å endre på listen.
Opprette en ArrayList
En ArrayList kan instansieres som en tom liste eller ved et Collection-object som input.
// husk import java.util.ArrayList; ArrayList list = new ArrayList(); // lager en ny tom liste ArrayList list = new ArrayList(Collection c); // lager en liste fra Collection-objektet
Ved opprettelsen av en ny ArrayList kan man spesifisere hva slags objekttype man ønsker å ha i listen. Ved å bruke Generics spesifiserer man type-paramteret på forhånd, slik at man ikke kan legge til andre objekt-typer i listen. Eksempelvis vil en ArrayList<String> ikke kunne legge til et Integer-objekt.
ArrayList<String> list = new ArrayList<String>(); // lager en ny tom liste som kan inneholde String-objekter. Type-parameteret settes i <>
Egenskaper ved ArrayList
ArrayList er en dynamisk liste. Elementer kan legges til på en angitt posisjon i listen, men legges til i enden av listen hvis ikke posisjon er angitt. Dersom man fjerner et element i midten av listen, vil de påfølgende elementene forflyttes én plass forover i listen, slik at det til enhver tid ikke er huller i listen.
Kodesnutten
ArrayList<String> list = new ArrayList<String>(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E"); System.out.println(list + "\n" + list.get(2)); list.remove("C"); System.out.println(list + "\n" + list.get(2)); list.add(1, "F"); System.out.println(list + "\n" + list.get(2)); list.add("A"); System.out.println(list + "\n" + list.get(2)); remove.add("A"); System.out.println(list + "\n" + list.get(2));
vil skrive ut:
[A, B, C, D, E]
C
[A, B, D, E]
D
[A, F, B, D, E]
B
[A, F, B, D, E, A]
B
[F, B, D, E, A]
D
Nyttige metoder
ArrayList-objektet har mange metoder, hvor vi her gir en kort beskrivelse av de mest brukte.
- void add(Object) - legger til et element i enden av listen.
- void add(int, Object) - legger til et element på posisjonen angitt av argumentet.
- void remove(Object) - fjerner den første forekomsten av argumentet hvis det finnes i listen.
- int size() - returnerer størrelsen på listen, dvs. antall objekter i listen.
- boolean contains(Object) - returnerer true hvis elementet finnes i listen, ellers false.
- Object get(int) - returnerer elementet på posisjonen angitt av argumentet.
- int indexOf(Object) - returnerer indexen til den første forekomsten av argumentet eller -1 hvis listen ikke inneholder argumentet.
- int lastIndexOf(Object) - returnerer indexen til den første forekomsten av argumentet eller -1 hvis listen ikke inneholder argumentet.
- boolean isEmpty() - returnerer true hvis listen ikke inneholder noen elementer, ellers false.
Ferdig |
---|
75 |