JavaRush /Java-Blog /Random-DE /Java-Arrays
articles
Level 15

Java-Arrays

Veröffentlicht in der Gruppe Random-DE

Arrays

Ein Array ist eine Datenstruktur, die Werte desselben Typs speichert. Der Zugriff auf ein einzelnes Array-Element erfolgt über einen ganzzahligen Index. Wenn a beispielsweise ein Array von Ganzzahlen ist, dann ist der Wert des Ausdrucks a[i] gleich der i-ten Ganzzahl im Array. Java-Arrays – 1Ein Array wird wie folgt deklariert: Zuerst wird der Typ des Arrays angegeben, also der Typ der im Array enthaltenen Elemente, gefolgt von einem Paar leerer eckiger Klammern und dann dem Namen der Variablen. So deklarieren Sie beispielsweise ein Array bestehend aus Ganzzahlen:
int[] a;
Allerdings deklariert diese Anweisung nur eine Variable а, ohne sie mit einem tatsächlichen Array zu initialisieren. Um ein Array zu erstellen, müssen Sie den Operator verwenden new.
int[] a = new int [100];
Dieser Operator erstellt ein Array mit 100 Ganzzahlen. Die Elemente dieses Arrays sind von 0 bis 99 (nicht von 1 bis 100) nummeriert. Einmal erstellt, kann das Array beispielsweise über eine Schleife gefüllt werden.
int[] а = new int[100];
for (int i = 0; i < 100; i++)
 a[i] = i; //Заполняет массив числами от 0 до 99
Wenn Sie versuchen, auf ein Element (oder ein anderes Element, dessen Index außerhalb des Bereichs von 0 bis 99 liegt) zuzugreifen а [100], indem Sie ein Array mit 100 Elementen erstellen, wird das Programm beendet, da eine Array-Index-Ausnahme außerhalb des Bereichs auftritt. Um die Anzahl der Elemente in einem Array zu zählen, verwenden Sie die Methode „Array-Name“ .length. Zum Beispiel,
for (int i = 0; i < a.length; i++, System.out.println(a[i]));
Sobald ein Array erstellt wurde, ist es nicht mehr möglich, seine Größe zu ändern (obwohl Sie natürlich seine einzelnen Elemente ändern können). Wenn Sie die Größe eines Arrays während der Programmausführung häufig ändern müssen, ist es besser, eine andere Datenstruktur namens Array-Liste zu verwenden. Ein Array kann auf zwei Arten deklariert werden:
int[] a;
oder
int a[];
Die meisten Java-Programmierer bevorzugen den ersten Stil, da er den Array-Typ (Ganzzahl-Array) klarer int []vom Variablennamen trennt.

Array-Initialisierer und unbenannte Arrays

Java bietet die Möglichkeit, ein Array gleichzeitig zu erstellen und zu initialisieren. Hier ist ein Beispiel für eine solche syntaktische Struktur:
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
Beachten Sie, dass in diesem Fall keine Notwendigkeit besteht, den Operator zu verwenden new. Darüber hinaus können Sie sogar ein unbenanntes Array initialisieren:
new int[] {16, 19, 23, 29, 31, 37}
Dieser Ausdruck reserviert Speicher für ein neues Array und füllt es mit den in geschweiften Klammern angegebenen Zahlen. In diesem Fall wird ihre Anzahl berechnet und dementsprechend die Größe des Arrays bestimmt. Diese syntaktische Konstruktion ist praktisch, um ein Array neu zu initialisieren, ohne eine neue Variable zu erstellen. Zum Beispiel der Ausdruck
smallPrimes = new int{17, 19, 23, 29, 31, 37};
ist ein verkürzter Ausdruck
int[] anonymous = {17, 19, 23, 29, 31, 37};
smallPrimes = anonymous;
Es ist möglich, ein Array mit der Größe Null zu erstellen. Ein solches Array kann nützlich sein, wenn Sie eine Methode schreiben, die ein Array auswertet, das sich als leer herausstellt. Ein Array mit der Länge Null wird wie folgt deklariert:
new тип Элементов[]
Beachten Sie, dass ein solches Array nicht einem Objekt entspricht null.

Arrays kopieren

Ein Array kann in ein anderes kopiert werden, aber beide Variablen verweisen auf dasselbe Array.
int[] luckyNumbers = smallPrimes;
luckyNumbers[5] = 12; //Теперь элемент smallPrimes[5]также gleicht 12
Das Ergebnis ist in Abb. dargestellt. 3.1. Wenn Sie alle Elemente eines Arrays in ein anderes kopieren müssen, sollten Sie die Methode arraycopy der Klasse verwenden System. Sein Aufruf sieht so aus:
System.arraycopy(from, fromlndex, to, tolndex, count);
Das Array tomuss groß genug sein, um alle zu kopierenden Elemente zu enthalten. Java-Arrays – 2
Abb.3.1. Kopieren eines Arrays
Zum Beispiel die unten gezeigten Operatoren, deren Ergebnisse in Abb. dargestellt sind. 3.2, erstellen Sie zwei Arrays und kopieren Sie dann die letzten vier Elemente des ersten Arrays in das zweite. Das Kopieren beginnt an der zweiten Position im Quellarray und die kopierten Elemente werden ab der dritten Position im Zielarray platziert.
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
int[] luckyNumbers = {1001, 1002, 1003, 1004, 1005, 1006, 1007};
System.аrrаусору(smallPrimes, 2, luckyNumbers, 3, 4);
for (int i = 0; i < luckyNumbers.length; i++)
System.out.println(i + ": " + luckyNumbers[i]);
Die Ausführung dieser Anweisungen führt zu folgendem Ergebnis.
0: 1001
1: 1002
2: 1003
3: 5
4: 7
5: 11
6: 13
Java-Arrays – 3
Reis. 3.2. Array-Elemente kopieren
Ein Array in Java unterscheidet sich erheblich von einem Array in C++. Es ist jedoch praktisch dasselbe wie ein Zeiger auf ein dynamisches Array. Dies bedeutet, dass der Betreiber
int[] a = new int[100]; //Java
entspricht dem Operator
int* = new int[100]; //C++,
а не
int a[100]; //C++
In Java []prüft der Standardoperator den Bereich der Indexänderungen. Darüber hinaus verfügt Java nicht über Zeigerarithmetik – Sie können einen Zeiger nicht inkrementieren, um auf das nächste Element eines Arrays zuzugreifen. Link zur Quelle: Java-Arrays
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION