Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Arrays und ArrayLists In JAVA. Arrays... sind eine Sammlung von Werten, die unter einem Namen gespeichert werden (das gilt eigentlich für jede Datenstruktur,

Ähnliche Präsentationen


Präsentation zum Thema: "Arrays und ArrayLists In JAVA. Arrays... sind eine Sammlung von Werten, die unter einem Namen gespeichert werden (das gilt eigentlich für jede Datenstruktur,"—  Präsentation transkript:

1 Arrays und ArrayLists In JAVA

2 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 int[] meinArray = {2, 5, 0, 1}; NameTyp + []Werte  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 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: 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) for (int i = 0; i <= arr.length; i++ ) { //mach was mit jedem Element, also arr[i] } for (int i = 0; i <= arr.length; i++ ) { //mach was mit jedem Element, also arr[i] } Wenn der Array 10 Elemente hat, dann würde im letzten Durchgang arr[10] benutzt, also das elfte Element!

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 al = new ArrayList (4); //erstellt ArrayList für Integers, Grösse 4, noch leer al.add(0, 2); //Elemente einfüllen, hier 2 an die erste Stelle al.add(17); //Elemente hinten anfügen (Grösse variabel!)... „Befüllen“ der ArrayList mit einer Schleife : for (int i = 0; i < al.size(); i++ ) { al.add(i,(int) Math.floor(Math.random()*10)); } // gefüllt mit Zufallszahlen zwischen 0 und 9 for (int i = 0; i < al.size(); i++ ) { al.add(i,(int) Math.floor(Math.random()*10)); } // gefüllt mit Zufallszahlen zwischen 0 und 9

8 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 Für einfache Datentypen Wrapper-Klassen benutzen. z.B. Integer für int Es gibt in JAVA noch viele weitere Datenstrukturen. Java verwendet den Oberbegriff Collections, mit den Familien: Lists, Sets, Maps und Queues

9 Umwandlungen String[] array = new String[] {"Affe", "Pferd", "Elefant"}; // erzeugen einer ArrayList mit den Elementen des Arrays: ArrayList tiere = new ArrayList (array); // Wichtig: die Daten des Array wurden einfach kopiert, tiere.add("Kuh"); // ändert nur die tiere, 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);

10 Array: typ[] name = {Werte}; Regal mit gleichartigen Kisten: name[0]  Inhalt der ersten Kiste 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 Beispiel:


Herunterladen ppt "Arrays und ArrayLists In JAVA. Arrays... sind eine Sammlung von Werten, die unter einem Namen gespeichert werden (das gilt eigentlich für jede Datenstruktur,"

Ähnliche Präsentationen


Google-Anzeigen