You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

java.util.ArrayList er en dynamisk liste som lar deg legge til, fjerne og finne elementer.

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. Fordelen med dette er å unngå bugs i koden, samt at man slipper å caste objekt-type når man henter ut elementer fra listen.

ArrayList<String> list = new ArrayList<String>(); // lager en ny tom liste som kun 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
  • No labels