2530 Stimmen

Wie deklariere und initialisiere ich ein Array in Java?

Wie deklariere und initialisiere ich ein Array in Java?

3205voto

glmxndr Punkte 43786

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"};

327voto

Isabella Engineer Punkte 3513

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

136voto

Nate Punkte 16471
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.

43voto

Anirudh Punkte 2179

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 .

34voto

Amit Bhandari Punkte 501

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];

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X