So arbeiten Sie mit Arrays: Deklarieren und Initialisieren

Wenn ein Programm mit mehreren gleichen Werten arbeiten muss Datentypkönnten Sie a deklarieren Variable für jede Nummer. 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 zusammen gruppiert 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 Feldern vor. Die Anzahl der Felder im Array kann sich nicht ändern. Jedes Feld kann einen Wert enthalten, solange er denselben Datentyp wie die in den anderen Feldern enthaltenen Werte hat. Sie können in eine Box schauen, um festzustellen, welchen Wert sie enthält, oder den Inhalt der Box durch einen anderen Wert ersetzen. Wenn es um Arrays geht, werden die Boxen als Elemente bezeichnet.

instagram viewer

Deklarieren und Initialisieren eines Arrays

Die Deklarationsanweisung für ein Array ähnelt der vorherigen Deklarieren Sie eine andere Variable. Es enthält den Datentyp, gefolgt vom Namen des Arrays. Der einzige Unterschied besteht darin, dass neben dem Datentyp eckige Klammern stehen:

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

Das Deklarationserklärungen oben sagen Sie dem Compiler, dass

intArray
Variable ist ein Array von
ints
,
floatArray
ist ein Array von
schwimmt
und
charArray
ist eine Reihe 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 die Deklaration und Zuweisung nicht in einer Aussage erfolgen kann:

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

Sobald ein Array initialisiert wurde, können den Elementen mithilfe des Index des Arrays Werte zugewiesen werden. 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. Es ist leicht zu glauben, dass der Index von 1 bis 10 statt von 0 bis 9 reicht, da ein Array zehn Elemente enthält. Wenn wir beispielsweise zum Beispiel mit den Lotterienummern zurückkehren, 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 die Werte für die Elemente in die Deklarationsanweisung eingefügt werden:

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 erhalten, wird sein Index verwendet:

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

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

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

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 1 sind.

Mehrdimensionale Arrays

Die Arrays, die wir bisher betrachtet haben, sind als eindimensionale (oder eindimensionale) Arrays bekannt. Dies bedeutet, dass sie nur eine Reihe von Elementen haben. Arrays können jedoch mehr als eine Dimension haben. Ein mehrdimensionales Array ist eigentlich ein Array, das Arrays enthält:

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 lang sein muss:

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

Ein Array kopieren

Um ein Array zu kopieren, verwenden Sie am einfachsten die

Arraycopy
Methode der Systemklasse. Das
Arraycopy
Methode kann verwendet werden, um alle Elemente eines Arrays oder eines Unterabschnitts davon zu kopieren. Es werden fünf Parameter an die übergeben
 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 Länge)

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

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

Da Arrays eine feste Länge haben, sind die

Arraycopy
Methode kann ein nützlicher Weg sein, um die Größe eines Arrays zu ändern.

Um Ihr Wissen über Arrays zu erweitern, können Sie lernen, wie Sie Arrays mithilfe der Arrays bearbeiten Klasse und Erstellen dynamischer Arrays (d. h. Arrays, wenn die Anzahl der Elemente keine feste Anzahl ist) Verwendung der ArrayList-Klasse.