Wie deklariere und initialisiere ich ein Array in Java?
Antworten
Zu viele Anzeigen?Hier gibt es eine Menge Antworten. Ich füge ein paar knifflige Möglichkeiten hinzu, um Arrays zu erstellen (aus einer Prüfung Standpunkt ist es gut, dies zu wissen)
-
Deklarieren und Definieren eines Arrays
int intArray[] = new int[3];
Dadurch wird ein Array der Länge 3 erstellt. Da es einen primitiven Typ, nämlich int, enthält, werden alle Werte standardmäßig auf 0 gesetzt. Zum Beispiel,
intArray[2]; // Will return 0
-
Verwendung von eckigen Klammern [] vor dem Variablennamen
int[] intArray = new int[3]; intArray[0] = 1; // Array content is now {1, 0, 0}
-
Initialisierung und Bereitstellung von Daten für das Array
int[] intArray = new int[]{1, 2, 3};
Diesmal ist es nicht notwendig, die Größe in der Klammer anzugeben. Auch eine einfache Variante davon ist:
int[] intArray = {1, 2, 3, 4};
-
Ein Array der Länge 0
int[] intArray = new int[0]; int length = intArray.length; // Will return length 0
Ähnlich bei mehrdimensionalen Arrays
int intArray[][] = new int[2][3]; // This will create an array of length 2 and //each element contains another array of length 3. // { {0,0,0},{0,0,0} } int lenght1 = intArray.length; // Will return 2 int length2 = intArray[0].length; // Will return 3
Verwendung von eckigen Klammern vor der Variablen:
int[][] intArray = new int[2][3];
Es ist völlig in Ordnung, wenn Sie am Ende eine Kastenklammer anbringen:
int[] intArray [] = new int[2][4];
int[] intArray[][] = new int[2][3][4]
Einige Beispiele
int [] intArray [] = new int[][] {{1,2,3},{4,5,6}};
int [] intArray1 [] = new int[][] {new int[] {1,2,3}, new int [] {4,5,6}};
int [] intArray2 [] = new int[][] {new int[] {1,2,3},{4,5,6}}
// All the 3 arrays assignments are valid
// Array looks like {{1,2,3},{4,5,6}}
Es ist nicht zwingend erforderlich, dass jedes innere Element die gleiche Größe hat.
int [][] intArray = new int[2][];
intArray[0] = {1,2,3};
intArray[1] = {4,5};
//array looks like {{1,2,3},{4,5}}
int[][] intArray = new int[][2] ; // This won't compile. Keep this in mind.
Wenn Sie die obige Syntax verwenden, müssen Sie darauf achten, dass Sie die Werte für die Vorwärtsrichtung in eckigen Klammern angeben. Andernfalls wird es nicht kompiliert. Einige Beispiele:
int [][][] intArray = new int[1][][];
int [][][] intArray = new int[1][2][];
int [][][] intArray = new int[1][2][3];
Ein weiteres wichtiges Merkmal ist Kovariante
Number[] numArray = {1,2,3,4}; // java.lang.Number
numArray[0] = new Float(1.5f); // java.lang.Float
numArray[1] = new Integer(1); // java.lang.Integer
// You can store a subclass object in an array that is declared
// to be of the type of its superclass.
// Here 'Number' is the superclass for both Float and Integer.
Number num[] = new Float[5]; // This is also valid
WICHTIG: Bei referenzierten Typen ist der im Array gespeicherte Standardwert null.
Ein Array kann sowohl primitive Datentypen als auch Objekte einer Klasse enthalten, abhängig von der Definition des Arrays. Bei primitiven Datentypen werden die tatsächlichen Werte in zusammenhängenden Speicherplätzen gespeichert. Im Falle von Objekten einer Klasse werden die eigentlichen Objekte im Heap-Segment gespeichert.
Eindimensionale Arrays:
Die allgemeine Form der Deklaration eines eindimensionalen Arrays lautet
type var-name[];
OR
type[] var-name;
Instanziierung eines Arrays in Java
var-name = new type [size];
Zum Beispiel,
int intArray[]; // Declaring an array
intArray = new int[20]; // Allocating memory to the array
// The below line is equal to line1 + line2
int[] intArray = new int[20]; // Combining both statements in one
int[] intArray = new int[]{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// Accessing the elements of the specified array
for (int i = 0; i < intArray.length; i++)
System.out.println("Element at index " + i + ": "+ intArray[i]);
Ref: Arrays in Java