Wie deklariere und initialisiere ich ein Array in Java?
Antworten
Zu viele Anzeigen?Sie können entweder eine Array-Deklaration oder ein Array-Literal verwenden (aber nur, wenn Sie die Variable sofort deklarieren und beeinflussen, Array-Literale können nicht für die Neuzuweisung eines Arrays verwendet werden).
Für primitive Typen:
int[] myIntArray = new int[3];
int[] myIntArray = {1, 2, 3};
int[] myIntArray = new int[]{1, 2, 3};
// Since Java 8. Doc of IntStream: https://docs.oracle.com/javase/8/docs/api/java/util/stream/IntStream.html
int [] myIntArray = IntStream.range(0, 100).toArray(); // From 0 to 99
int [] myIntArray = IntStream.rangeClosed(0, 100).toArray(); // From 0 to 100
int [] myIntArray = IntStream.of(12,25,36,85,28,96,47).toArray(); // The order is preserved.
int [] myIntArray = IntStream.of(12,25,36,85,28,96,47).sorted().toArray(); // Sort
Für Klassen, zum Beispiel String
ist es das Gleiche:
String[] myStringArray = new String[3];
String[] myStringArray = {"a", "b", "c"};
String[] myStringArray = new String[]{"a", "b", "c"};
Die dritte Möglichkeit der Initialisierung ist nützlich, wenn Sie ein Array zuerst deklarieren und dann initialisieren, ein Array als Funktionsargument übergeben oder ein Array zurückgeben. Der explizite Typ ist erforderlich.
String[] myStringArray;
myStringArray = new String[]{"a", "b", "c"};
Es gibt zwei Arten von Arrays.
Eindimensionales Array
Syntax für Standardwerte:
int[] num = new int[5];
Oder (weniger bevorzugt)
int num[] = new int[5];
Syntax mit vorgegebenen Werten (Initialisierung von Variablen/Feldern):
int[] num = {1,2,3,4,5};
Oder (weniger bevorzugt)
int num[] = {1, 2, 3, 4, 5};
Hinweis: Der Einfachheit halber ist int[] num vorzuziehen, da es deutlich macht, dass es sich hier um ein Array handelt. Ansonsten kein Unterschied. Ganz und gar nicht.
Mehrdimensionales Array
Erklärung
int[][] num = new int[5][2];
Oder
int num[][] = new int[5][2];
Oder
int[] num[] = new int[5][2];
Initialisierung
num[0][0]=1;
num[0][1]=2;
num[1][0]=1;
num[1][1]=2;
num[2][0]=1;
num[2][1]=2;
num[3][0]=1;
num[3][1]=2;
num[4][0]=1;
num[4][1]=2;
Oder
int[][] num={ {1,2}, {1,2}, {1,2}, {1,2}, {1,2} };
Ragged Array (oder nicht rechtwinkliges Array)
int[][] num = new int[5][];
num[0] = new int[1];
num[1] = new int[5];
num[2] = new int[2];
num[3] = new int[3];
Wir definieren hier also explizit Spalten.
Ein anderer Weg:
int[][] num={ {1}, {1,2}, {1,2,3,4,5}, {1,2}, {1,2,3} };
Für den Zugriff:
for (int i=0; i<(num.length); i++ ) {
for (int j=0;j<num[i].length;j++)
System.out.println(num[i][j]);
}
Alternativ dazu:
for (int[] a : num) {
for (int i : a) {
System.out.println(i);
}
}
Ragged Arrays sind mehrdimensionale Arrays.
Zur Erklärung siehe mehrdimensionales Array Detail unter die offiziellen Java-Tutorials
Type[] variableName = new Type[capacity];
Type[] variableName = {comma-delimited values};
Type variableName[] = new Type[capacity];
Type variableName[] = {comma-delimited values};
ist auch gültig, aber ich bevorzuge die Klammern nach dem Typ, weil es einfacher zu sehen ist, dass der Typ der Variablen tatsächlich ein Array ist.
Es gibt verschiedene Möglichkeiten, wie Sie ein Array in Java deklarieren können:
float floatArray[]; // Initialize later
int[] integerArray = new int[10];
String[] array = new String[] {"a", "b"};
Weitere Informationen finden Sie in der Sonnen-Tutorial Website und die JavaDoc .
Im Folgenden wird die Deklaration eines Arrays gezeigt, aber das Array ist nicht initialisiert:
int[] myIntArray = new int[3];
Im Folgenden werden die Deklaration sowie die Initialisierung des Arrays gezeigt:
int[] myIntArray = {1,2,3};
Im Folgenden wird nun auch die Deklaration sowie die Initialisierung des Arrays gezeigt:
int[] myIntArray = new int[]{1,2,3};
Aber diese dritte zeigt die Eigenschaft der anonymen Array-Objekt-Erstellung, die durch eine Referenzvariable "myIntArray" gezeigt wird, also wenn wir nur "new int[]{1,2,3};" schreiben, dann ist dies, wie anonyme Array-Objekt erstellt werden kann.
Wenn wir nur schreiben:
int[] myIntArray;
Dies ist keine Deklaration eines Arrays, aber die folgende Anweisung macht die obige Deklaration vollständig:
myIntArray=new int[3];
- See previous answers
- Weitere Antworten anzeigen