Video: Java Programming Tutorial - 27 - Introduction to Arrays 2024
Die ArrayList-Klasse, die verwendet wird, ist in vielen Android-Anwendungsprogrammen nur die Spitze der Java-Sammlungen Eisberg. Die Java-Bibliothek enthält viele Collections-Klassen mit jeweils eigenen Vorteilen. Die Tabelle enthält eine abgekürzte Liste.
Class Name | Characteristic |
---|---|
ArrayList | Ein in der Größe veränderbares Array. |
LinkedList | Eine Liste von Werten, von denen jeder ein Feld hat, das auf das nächste
in der Liste verweist. |
Stack | Eine Struktur (die von unten nach oben wächst), die für den Zugriff auf den obersten Wert optimiert wurde
. Sie können ganz einfach einen Wert zum -Top hinzufügen oder ihn von oben entfernen. |
Warteschlange | Eine Struktur (die an einem Ende wächst), die für
optimiert ist, indem an einem Ende Werte hinzugefügt (hinten) und Werte vom anderen Ende (vorne) entfernt werden. |
PriorityQueue | Eine Struktur wie eine Warteschlange, in der bestimmte (höhere Priorität)
-Werte nach vorne verschoben werden können. |
HashSet | Eine Sammlung, die keine doppelten Werte enthält. |
HashMap | Eine Sammlung von Schlüssel / Wert-Paaren. |
Jede Auflistungsklasse verfügt über eine eigene Menge von Methoden (zusätzlich zu den Methoden, die sie von AbstractCollection, dem Vorgänger aller Auflistungsklassen, erbt).
Ein Array ist eine bestimmte Art von Sammlung, die für die Indizierung optimiert ist. Das heißt, Sie können einfach und effizient den 100. Wert finden, der in einem Array gespeichert ist, den 1.000sten Wert, der in einem Array gespeichert ist, oder den 1.000.000sten Wert, der in einem Array gespeichert ist.
Das Array ist ein ehrwürdiges, bewährtes Merkmal vieler Programmiersprachen, einschließlich neuerer Sprachen wie Java und älterer Sprachen wie FORTRAN. In der Tat reicht die Geschichte des Arrays so weit zurück, dass die meisten Sprachen (einschließlich Java) eine spezielle Schreibweise für Arrays haben. Die Auflistung veranschaulicht die Notation für Arrays in einem einfachen Java-Programm.
Paket com. allmycode. Sammlungen; Öffentliche Klasse SimpleCollectionsDemo {public static void main (String [] Argumente) { Zeichenfolge [] myArray = new String [4]; myArray [0] = "Hallo"; myArray [1] = ","; myArray [2] = "Leser"; meinArray [3] = "!"; für (int i = 0; i <4; i ++) { System. aus. drucken (meinArray [i]); } System. aus. println (); für (String string: meinArray) {System. aus. print (string);}}}
Die Abbildung zeigt die Ausgabe eines Laufs des Codes in der Auflistung. Sowohl die normale for-Schleife als auch die enhanced for-Schleife zeigen die gleiche Ausgabe an.
In der Auflistung verwendet die normale for-Schleife Indizes, wobei jeder Index durch eckige Klammern markiert ist.Wie bei allen Java-Sammlungen ist der Index des Anfangswerts 0, nicht 1. Beachten Sie auch die Nummer 4 in der Deklaration des Arrays - sie zeigt an, dass "Sie vier Werte im Array speichern können. "
Die Zahl 4 gibt nicht an, dass" Sie myArray [4] einen Wert zuweisen können. "Wenn Sie eine Anweisung wie myArray hinzufügen [4] =" Ups! "Zum Code in der Auflistung erhalten Sie eine böse Fehlermeldung (ArrayIndexOutOfBoundsException), wenn Sie das Programm ausführen.
Die Anweisung String [] myArray = new String [4] erstellt ein leeres Array und lässt die myArray-Variable auf dieses leere Array verweisen. Das Array kann potenziell bis zu vier Werte speichern. Anfänglich bezieht sich diese Variable jedoch auf ein Array, das keine Werte enthält. Erst wenn Java die erste Zuweisungsanweisung (myArray [0] = "Hello") ausführt, enthält das Array Werte.
Sie können leicht und effizient den 100. Wert finden, der in einem Array gespeichert ist, oder den 1.000.000sten Wert, der in einem Array gespeichert ist. Nicht schlecht für einen Arbeitstag. Also, was ist der Nachteil bei der Verwendung eines Arrays? Der größte Nachteil eines Arrays ist, dass jedes Array eine feste Grenze für die Anzahl der Werte hat, die es halten kann. Wenn Sie das Array in der Auflistung erstellen, reserviert Java Speicherplatz für bis zu vier String-Werte.
Wenn Sie später im Programm entscheiden, dass Sie ein fünftes Element im Array speichern möchten, benötigen Sie etwas schwerfälligen, ineffizienten Code, um ein größeres Array zu erstellen. Sie können auch die Größe überschätzen, die Sie für ein Array benötigen, wie in diesem Beispiel gezeigt:
String [] myArray = new String [20000000];
Wenn Sie überschätzen, verschwenden Sie wahrscheinlich viel Speicherplatz.
Eine weitere unangenehme Eigenschaft eines Arrays ist die Schwierigkeit beim Einfügen neuer Werte. Stellen Sie sich vor, Sie haben jedes Jahr eine Holzkiste in Ihrer Sammlung von Kaiser-Konstantin-Comics . Die Serie geht auf das Jahr 307 v. Chr. Zurück, als Konstantin das Oberhaupt des Römischen Reiches wurde.
Sie haben nur 1, 700 Kisten, weil Sie etwa sechs Jahre fehlen (meist aus den Jahren 1150 bis 1155). Die Boxen sind nicht nummeriert, aber sie sind in einer 200 Meter langen Linie nebeneinander gestapelt. (Die Linie ist so lang, wie der 55. Stock eines Wolkenkratzers groß ist.)
Bei einem Flohmarkt in Istanbul findet man ab März 1152 eine seltene Ausgabe von Kaiser-Konstantin-Comics . Erster Comic aus dem Jahr 1152, man merkt, dass man zwischen den Jahren 1151 und 1153 eine neue Schachtel in den Stapel legen muss, wobei man die Schachtel des Jahres 2013 etwa zehn Zentimeter nach links verschiebt und dann die Schachtel 2012 anstelle von die Box 2013 und dann die Box 2011 anstelle der Box 2012 verschieben. Und so weiter.
Leben für den eifrigen Kaiser Constantine Comics Sammler wird bald lästig! Das Einfügen eines Wertes in die Mitte eines großen Arrays ist ebenfalls ärgerlich.