class Beholdere { // Et dynamisk array (som en ArrayList) er egentlig bare et array, men som utvider seg selv etter behov. int[] tallbeholder = new int [30]; int storrelse = 0; public void settInn(int x) { // Hvis det plass til flere objekter, kan vi bare plassere i arrayet. if (storrelse < tallbeholder.length) { tallbeholder[storrelse] = x; storrelse++; } else { // Hvis det ikke er mer plass m? vi utvide arrayet. utvid(); settInn(x); } } private void utvid() { // Her gj?r vi arrayet dobelt s? stort. int nyStorrelse = tallbeholder.length * 2; int[] nyttArray = new int[nyStorrelse]; int i = 0; // Siden vi har laga ett nytt array m? vi kopiere over alle verdiene vi hadde i det originale // inn i det nye. for (int x : tallbeholder) { nyttArray[i++] = x; } // N? kan vi sette beholderen til ? bli det nye arrayet. tallbeholder = nyttArray; } public void skrivUt() { // skriver ut alle de opptatte plassene i arrayet. for (int i = 0; i < storrelse; i++) { System.out.println(tallbeholder[i]); } } public static void main(String[] args) { Beholdere b = new Beholdere(); // Fors?ker ? sette inn 100 elementer i arrayet. for (int i = 0; i < 100; i++) b.settInn(i); b.skrivUt(); } }