Arbeiten mit Arrays in Java

Wenn ein Programm mit mehreren Werten desselben Datentyps arbeiten muss, können Sie für jede Zahl eine Variable deklarieren. Zum Beispiel ein Programm, das Lotterienummern anzeigt:

int lotteryNumber1 = 16;
int lotteryNumber2 = 32;
int lotteryNumber3 = 12;
int lotteryNumber4 = 23;
int lotteryNumber5 = 33;
int lotteryNumber6 = 20;

Eine elegantere Art, mit Werten umzugehen, die zu Gruppen zusammengefasst werden können, ist die Verwendung eines Arrays. Ein Array ist ein Container, der eine feste Anzahl von Werten eines Datentyps enthält. Im obigen Beispiel könnten die Lotterienummern in einem int-Array zusammengefasst werden:

int [] lotteryNumbers = 16,32,12,23,33,20; 

Stellen Sie sich ein Array als eine Reihe von Kästchen vor. Die Anzahl der Felder im Array kann nicht geändert werden. Jedes Feld kann einen Wert enthalten, solange er denselben Datentyp wie die in den anderen Feldern enthaltenen Werte hat. Sie können in einem Feld nachsehen, welchen Wert es enthält, oder den Inhalt des Felds durch einen anderen Wert ersetzen. Wenn es um Arrays geht, werden die Boxen als Elemente bezeichnet.

Deklarieren und Initialisieren eines Arrays

Die Deklarationsanweisung für ein Array ähnelt derjenigen, mit der eine andere Variable deklariert wird. Es enthält den Datentyp, gefolgt vom Namen des Arrays. Der einzige Unterschied besteht in der Einfügung von eckigen Klammern neben dem Datentyp:

int [] intArray;
float [] floatArray; 
char [] charArray;

Die obigen Deklarationsanweisungen teilen dem Compiler dies mit

intArray
Variable ist ein Array von
ints
,
floatArray
ist ein Array von
schwimmt
und
charArray
ist ein Array von Zeichen. Wie jede Variable können sie erst verwendet werden, wenn sie durch Zuweisen eines Werts initialisiert wurde. Für ein Array muss die Zuweisung eines Werts zu einem Array die Größe eines Arrays definieren:
intArray = new int [10]; 

Die Zahl in den Klammern definiert, wie viele Elemente das Array enthält. Die obige Zuweisungsanweisung erstellt ein int-Array mit zehn Elementen. Natürlich gibt es keinen Grund, warum Deklaration und Zuweisung nicht in einer Anweisung vorkommen können:

float [] floatArray = neuer float [10]; 

Arrays sind nicht auf primitive Datentypen beschränkt. Arrays von Objekten können erstellt werden:

String [] names = new String [5]; 

Verwenden eines Arrays

Nachdem ein Array initialisiert wurde, können den Elementen Werte zugewiesen werden, indem der Index des Arrays verwendet wird. Der Index definiert die Position jedes Elements im Array. Das erste Element ist bei 0, das zweite Element bei 1 und so weiter. Es ist wichtig zu beachten, dass der Index des ersten Elements 0 ist. Man kann sich leicht vorstellen, dass der Index bei einem Array mit zehn Elementen 1 bis 10 statt 0 bis 9 beträgt. Wenn wir zum Beispiel zur Lotterie zurückkehren Zum Beispiel können wir ein Array mit 6 Elementen erstellen und die Lotterienummern den Elementen zuweisen:

int [] lotteryNumbers = new int [6];
lotteryNumbers [0] = 16;
lotteryNumbers [1] = 32;
lotteryNumbers [2] = 12;
lotteryNumbers [3] = 23;
lotteryNumbers [4] = 33;
lotteryNumbers [5] = 20;

Es gibt eine Verknüpfung zum Füllen von Elementen in einem Array, indem Sie die Werte für die Elemente in die Deklarationsanweisung einfügen:

int [] lotteryNumbers = 16,32,12,23,33,20;
String [] names = "John", "James", "Julian", "Jack", "Jonathon";

Die Werte für jedes Element werden in geschweifte Klammern gesetzt. Die Reihenfolge der Werte bestimmt, welchem ​​Element der Wert beginnend mit der Indexposition 0 zugewiesen wird. Die Anzahl der Elemente im Array wird durch die Anzahl der Werte in den geschweiften Klammern bestimmt.

Um den Wert eines Elements zu ermitteln, wird dessen Index verwendet:

System.out.println ("Der Wert des ersten Elements ist" + lotteryNumbers [0]); 

Um herauszufinden, wie viele Elemente ein Array enthält, verwenden Sie das Längenfeld:

System.out.println ("Das lotteryNumbers-Array enthält" + lotteryNumbers.length + "Elemente"); 

Hinweis: Ein häufiger Fehler bei der Verwendung der Längenmethode besteht darin, den Längenwert als Indexposition zu verwenden. Dies führt immer zu einem Fehler, da die Indexpositionen eines Arrays 0 bis Länge - 1 sind.

Mehrdimensionale Arrays

Die bisher untersuchten Arrays werden als eindimensionale (oder eindimensionale) Arrays bezeichnet. Das heißt, sie haben nur eine Reihe von Elementen. Arrays können jedoch mehr als eine Dimension haben. Ein mehrdimensionales Array enthält tatsächlich Arrays:

int [] [] lotteryNumbers = 16,32,12,23,33,20, 34,40,3,11,33,24; 

Der Index für ein mehrdimensionales Array besteht aus zwei Zahlen:

System.out.println ("Der Wert von Element 1,4 ist" + lotteryNumbers [1] [4]); 

Obwohl die Länge der in einem mehrdimensionalen Array enthaltenen Arrays nicht gleich sein muss:

String [] [] names = new String [5] [7]; 

Ein Array kopieren

Um ein Array zu kopieren, verwenden Sie am einfachsten das

arraycopy
Methode der System-Klasse. Das
arraycopy
Mit method können alle Elemente eines Arrays oder eines Unterabschnitts davon kopiert werden. Es gibt fünf Parameter, die an das übergeben werden
 arraycopy
Methode - das ursprüngliche Array, die Indexposition, von der aus ein Element kopiert werden soll, das neue Array, die Indexposition, von der aus das Einfügen gestartet werden soll, die Anzahl der zu kopierenden Elemente:
public static void arraycopy (Objekt src, int srcPos, Objekt dest, int destPos, int length) 

Zum Beispiel, um ein neues Array zu erstellen, das die letzten vier Elemente eines

int 
Array:
int [] lotteryNumbers = 16,32,12,23,33,20;
int [] newArrayNumbers = new int [4];
System.arraycopy (lotteryNumbers, 2, newArrayNumbers, 0, 4);

Als Arrays sind die eine feste Länge

arraycopy
Methode kann eine nützliche Methode sein, um die Größe eines Arrays zu ändern.

Um Ihr Wissen über Arrays zu vertiefen, lernen Sie, wie Sie Arrays mit der Arrays-Klasse bearbeiten und dynamische Arrays (d. H. Arrays, deren Anzahl keine feste Zahl ist) mit der ArrayList-Klasse erstellen.