Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Arrays und ArrayLists In JAVA.

Ähnliche Präsentationen


Präsentation zum Thema: "Arrays und ArrayLists In JAVA."—  Präsentation transkript:

1 Arrays und ArrayLists In JAVA

2 (das gilt eigentlich für jede Datenstruktur, aber)
Arrays ... sind eine Sammlung von Werten, die unter einem Namen gespeichert werden (das gilt eigentlich für jede Datenstruktur, aber) ... Arrays: können nur gleichartige (Typ) Werte aufnehmen können ihre Grösse nicht ändern stellen den Zugriff auf bestimmte Werte über eckige Klammern und einen index bereit: myArray[i] können Mehrdimensional sein: myArray[i][j] Ein Array ist also wie ein Regal mit Werten drin

3 Arrays erstellen, Kurzform
Typ + [] Name Werte int[] meinArray = {2, 5, 0, 1};  ein „Regal“ mit vier Fächern und den ganzzahligen Werten 2, 5, 0, 1 drin Um auf Werte zuzugreifen braucht es die Nummer des Faches (=Index). Achtung: gezählt wird ab 0! int x = meinArray[1];  x hat den Wert 5 meinArray[0] = 7;  im ersten Fach ist eine 7

4 Arrays erstellen, mehrere Schritte
int[] meinArray = new int[4]; //erstellt Array mit 4 leeren Elementen (null) meinArray[0] = 2; //Elemente einfüllen ... meinArray[1] = 5; ... Oft kann man das „Befüllen“ des Arrays mit einer Schleife regeln: for (int i = 0; i < meinArray.length; i++ ) { meinArray[i] = (int) Math.random(); } // gefüllt mit Zufallszahlen zwischen 0 und 1

5 Man geht oft mit Schleifen durch Arrays:
Wenn der Array 10 Elemente hat, dann würde im letzten Durchgang arr[10] benutzt, also das elfte Element! for (int i = 0; i <= arr.length; i++ ) { //mach was mit jedem Element, also arr[i] } Achtung!: wenn der Index zu gross ist und damit auf ein nicht existierendes Element verweist, dann passiert das: Exception in thread "Animation Thread" java.lang.ArrayIndexOutOfBoundsException: 10 at OutOfBounds.setup(OutOfBounds.java:21)

6 Arrays: Hinweise Leere Elemente haben den Wert null
array.length ergibt die Anzahl der Elemente Das erste Element hat den Index 0! Das letzte Element hat den Index arr.length-1! Es gibt Arrays für jeden Datentyp, also auch eigene Klassen oder ein Array von Arrays Arrays gibt es in JAVA nur noch aus historischen Gründen, eigentlich sollte man sauberere Datenstrukturen vorziehen – z.B. ArrayList ...

7 ArrayList erstellen ArrayList<int> al = new ArrayList<int>(4); //erstellt ArrayList, Grösse 4 al.get(0) = 2; //Elemente einfüllen ... al.get(1) = 5; ... „Befüllen“ der ArrayList mit einer Schleife : for (int i = 0; i < al.size(); i++ ) { al.get(i) = (int) Math.random(); } // gefüllt mit Zufallszahlen zwischen 0 und 1

8 ArrayLists können ihre Grösse ändern
ArrayList<int> al = new ArrayList<int>(); //erstellt ArrayList, Grösse 0 al.add(2); //Elemente einfüllen ... al.add(5); ... „Befüllen“ der ArrayList mit einer Schleife : for (int i = 0; i < n; i++ ) { al.add(i) = (int) Math.random(); } // gefüllt mit Zufallszahlen zwischen 0 und 1

9 ArrayLists: Hinweise ArrayLists können ihre Grösse ändern
al.size() ergibt die Anzahl der Elemente Das erste Element hat den Index 0! Das letzte Element hat den Index al.size()-1! Es gibt ArrayLists für jeden Datentyp, den man generisch festlegen kann, d.h. mit <typ> Es gibt in JAVA noch viele weitere Datenstrukturen. Java verwendet den Oberbegriff Collections, mit den Familien: Lists, Sets, Maps und Queues

10 Umwandlungen String[] array = new String[] {"Affe", "Pferd", "Elefant"}; // erzeugen einer ArrayList mit den Elementen des Arrays: List<String> tiere = new ArrayList<String>(array); // Wichtig: die Daten des Array wurden einfach kopiert, tiere.add("Kuh"); // ändert nur die ArrayList, nicht array // erzeugen eines Array aus den Elementen der ArrayList: // Array mit der korrekten Anzahl Elemente anlegen String[] neuesArray = new String[tiere.size()]; // Daten aus der ArrayList in Array kopieren neuesArray = tiere.toArray(neuesArray);

11 Array: typ[] name = {Werte}; Regal mit gleichartigen Kisten: name[0]  Inhalt der ersten Kiste
Beispiel: int[] arr = {3, 5, 0, 17}; // leeres Array: int[] arr = new int[4]; System.out.println(arr[3]); //  17 arr[1] = 11; // an 2. Stelle 11 statt 5 int x = arr[0]; // x ist 3 int l = arr.length; // l ist 4


Herunterladen ppt "Arrays und ArrayLists In JAVA."

Ähnliche Präsentationen


Google-Anzeigen