Wie deklariere und initialisiere ich ein Array in Java?
Wie muss ich Sie deklarieren und initialisieren Sie ein array in Java?
Kommentar zu dem Problem
Macht java-10 ermöglichen, deklarieren von array-über var?
Es gibt einen interessanten Artikel deckt die Grundlagen, um arrays hier: octoperf.com/blog/2018/03/20/java-arrays
InformationsquelleAutor der Frage bestattendance | 2009-07-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie entweder die array-Deklaration oder array-literal (aber nur, wenn Sie erklären und beeinflussen die variable entfernt, array-Literale können nicht verwendet werden, für die re-zuweisen einer array).
Für die primitiven Typen:
Für Klassen, zum Beispiel
String
, ist es das gleiche:Die Dritte Möglichkeit, die Initialisierung ist nützlich, wenn Sie declare das array zuerst und dann initialisieren. Der cast ist hier notwendig.
InformationsquelleAutor der Antwort
Gibt es zwei Arten von Arrays.
Eindimensionalen Array
Syntax für Standardwerte:
Oder (weniger bevorzugt)
Syntax mit den angegebenen Werten (variable/Feld-Initialisierung):
Oder (weniger bevorzugt)
Hinweis: Für die Bequemlichkeit int[] num ist vorzuziehen, weil es klar sagt, dass Sie sprechen hier über das array. Sonst kein Unterschied. Überhaupt nicht.
Mehrdimensionales array
Erklärung
Oder
Oder
Initialisierung
Oder
Ragged Array (oder Nicht-rechteckige Arrays)
Also hier definieren wir die Spalten explizit.
Ein Anderer Weg:
Für Den Zugriff Auf:
Alternativ:
Ragged arrays sind mehrdimensionale arrays.
Für die Erklärung finden Sie unter mehrdimensionale Arrays detail an die offiziellen java-tutorials
InformationsquelleAutor der Antwort Isabella Engineer
ist auch gültig, aber ich bevorzuge die eckigen Klammern nach dem Typ, denn es ist einfacher zu sehen, dass der Variablen-Typ ist eigentlich ein array.
InformationsquelleAutor der Antwort Nate
Gibt es verschiedene Möglichkeiten, Sie können ein array deklarieren in Java:
Weitere Informationen finden Sie in der Sun tutorial Website und die JavaDoc.
InformationsquelleAutor der Antwort Anirudh
Die folgende Abbildung zeigt die Deklaration eines Arrays, aber das array ist nicht initialisiert:
Die folgende Abbildung zeigt die Deklaration, sowie die Initialisierung des Arrays:
Nun auch die folgende zeigt die Deklaration, sowie die Initialisierung des Arrays:
Aber dieser Dritte Teil zeigt die Eigenschaft der anonyme array-Objekt erstellen, das ist zugespitzt, indem eine Referenz-variable "myIntArray", also, wenn wir schreiben, einfach nur "new int[]{1,2,3};" dann ist dies, wie anonyme array-Objekt erstellt werden können.
Wenn wir nur schreiben:
dies ist nicht der Deklaration von array -, aber die folgende Anweisung macht die obige Erklärung abgeschlossen:
InformationsquelleAutor der Antwort Amit Bhandari
Ich finde es ist hilfreich, wenn Sie verstehen, jedes Teil:
Type[]
ist die Typ der variable genannt-Namen ("name" heißt der identifier). Das literal "Type" ist der Basis-Typ, und die Klammern bedeuten, das ist der array-Typ, die Basis. Array-Typen sind wiederum die Typen, Ihre eigenen, die Ihnen erlaubt, um mehrdimensionale arrays wieType[][]
(das array vom Typ Type[]). Das Schlüsselwortnew
sagt zum Speicher für das neue array. Die Zahl zwischen der Klammer sagt, wie groß das neue array sein wird und wie viel Speicher zu reservieren. Zum Beispiel, wenn Sie Java weiß, dass die base-TypType
dauert 32 bytes, und Sie möchten ein array der Größe 5, es muss intern zuordnen 32 * 5 = 160 bytes.Können Sie auch erstellen von arrays mit den Werten schon da, wie
schafft nicht nur den leeren Raum, sondern füllt es mit diesen Werten. Java kann sagen, dass die primitive Ganzzahlen sind, und es sind 5 von Ihnen, so dass die Größe des Arrays kann bestimmt werden implizit.
InformationsquelleAutor der Antwort Chet
Auch, wenn Sie möchten etwas mehr Dynamik ist die Liste Schnittstelle. Das wird nicht so gut, aber flexibler:
InformationsquelleAutor der Antwort Dave
Alternativ
, In der Sie deklariert ein array mit dem Namen
arrayName
der Größe 10 (Sie haben die Elemente 0 bis 9 zu verwenden).InformationsquelleAutor der Antwort Thomas Owens
Gibt es zwei Möglichkeiten, um ein array:
Diesem, für ein leeres array:
Und dieser, für ein initialisiertes array:
Können Sie auch mehrdimensionale arrays, wie dieser:
InformationsquelleAutor der Antwort codecubed
Nehmen die primitive Art
int
zum Beispiel. Es gibt mehrere Möglichkeiten, zu erklären und zuint
array:wo in all diesen, können Sie
int i[]
stattint[] i
.Mit Reflexion, Sie können
(Type[]) Array.newInstance(Type.class, capacity);
Beachten Sie, dass im Parameter der Methode
...
zeigtvariable arguments
. Im wesentlichen eine beliebige Anzahl von Parametern ist in Ordnung. Es ist einfacher zu erklären mit code:Innerhalb der Methode,
varargs
wird behandelt wie eine normaleint[]
.Type...
können nur verwendet werden, in die Methode Parameter, soint... i = new int[] {}
wird nicht kompiliert.Beachten Sie, dass bei der übergabe eines
int[]
auf eine Methode (oder jede andereType[]
), können Sie den Dritten Weg. In der Anweisungint[] i = *{a, b, c, d, etc}*
, geht der compiler davon aus, dass die{...}
bedeutet eineint[]
. Aber nur, weil Sie eine variable deklarieren. Bei der übergabe eines Arrays an eine Methode, die Erklärung muss entwedernew Type[capacity]
odernew Type[] {...}
.Mehrdimensionale Arrays
Mehrdimensionale arrays sind viel schwerer zu behandeln. Im Grunde ein 2D-array ist ein array von arrays.
int[][]
also ein array vonint[]
s. Der Schlüssel ist, dass, wenn einint[][]
erklärt wirdint[x][y]
, der maximale index isti[x-1][y-1]
. Im wesentlichen eine rechteckigeint[3][5]
ist:InformationsquelleAutor der Antwort HyperNeutrino
Wenn Sie wollen, zum erstellen von arrays mit Reflexionen, dann können Sie dies so tun:
InformationsquelleAutor der Antwort Muhammad Suleman
Deklarieren Sie ein array von Objekt-Referenzen:
InformationsquelleAutor der Antwort ravi
Array ist eine sequenzielle Liste von Elementen
Wenn es ein Objekt ist, dann ist es das gleiche Konzept
Im Falle von Objekten, müssen Sie entweder ordnen Sie
null
initialisieren Sie Sie mitnew Type(..)
Klassen wieString
undInteger
sind spezielle Fälle, die behandelt werden, wie folgendeIm Allgemeinen, Sie können arrays erstellen, die
M
dimensionaleEs ist würdig der Hinweis, dass das erstellen eines
M
- dimensionales array ist teuer in Bezug auf Raum. Seit Wann erstellen Sie eineM
- dimensionales array mitN
auf alle Dimensionen, Die Gesamtgröße des Arrays ist größer alsN^M
, da jedes array hat eine Referenz, und in der M-dimension gibt es eine (M-1)-dimensionales array von Referenzen. Die Gesamt-Größe ist wie folgendeInformationsquelleAutor der Antwort Khaled.K
Für das erstellen von arrays von Klassenobjekten, die Sie verwenden können, die
java.util.ArrayList
. definieren ein array:Werte zuweisen, array:
Lesen aus dem array:
Hinweis:
variableName
ist eine Referenz auf das array, was bedeutet, dass die ManipulationvariableName
manipulierenarrayName
for-Schleifen:
for-Schleife, die ermöglicht es Ihnen, zu Bearbeiten
arrayName
(konventionelle for-Schleife):InformationsquelleAutor der Antwort Samuel Newport
Deklarieren und initialisieren Sie für Java 8 und höher. Erstellen Sie eine einfache integer-array:
Erstellen Sie eine zufällige array für ganze zahlen zwischen [-50, 50] und Doppel [0, 1E17]:
Kraft-der-zwei-Folge:
String[] müssen Sie einen Konstruktor:
Mehrdimensionale arrays:
InformationsquelleAutor der Antwort Kirill Podlivaev
In Java 8 kann man verwenden wie diese.
InformationsquelleAutor der Antwort Chamly Idunil
Andere Weise zu deklarieren und initialisieren ArrayList:
InformationsquelleAutor der Antwort Clement.Xu
In Java 9
Mithilfe der
IntStream.die Iteration(...)
Methoden:InformationsquelleAutor der Antwort Oleksandr
InformationsquelleAutor der Antwort TreyMcGowan