Java Array Struktur, welche ist wann besser?

Crucial

Mitglied
Java:
int [] zahlenliste = new int [4];
    zahlenliste [0] = 12;
    zahlenliste [1] = 111;
    zahlenliste [2] = 18;
    zahlenliste [3] = 188
        
        ODER
        
String [] clans = {"mafia", "gangstar", "italiano"};

Das sind 2 unabhängige Java Projekte.
Ich wollte fragen was genau sind denn die Vorteile und Nachteile beider Methoden?
Wann sollte ich die "umständlichere" Variante, also die obere verwenden und wann die untere?
Ich denke bei größeren Daten, wäre die obere von Vorteil damit man eine leichtere Übersicht hat,
aber mehr fällt mir momentan nicht ein.
 

KonradN

Super-Moderator
Mitarbeiter
Also die Frage ist so für mich nicht zu beantworten. Hintergrund ist, dass man beides vermutlich einfach so nicht verwenden würde. Das erste ist ein Liste von Zahlen, bei denen ich keinen wirklichen Sinn erkennen kann. Was sind das für Daten Wozu werden diese gebraucht? Wieso genau 4 und nicht mehr oder weniger? Was für eine Bedeutung haben die?

Bei dem zweiten ist es ähnlich. Wenn es genau diese 3 Clans geben soll, dann wäre das nie ein Array sondern eher eine Enumeration.
Wenn es eine Auflistung von Clans ist, die veränderlich ist, dann wäre das also eher ein Datentyp wie eine List.

Die Fragestellung ist also maximal interessant im Bereich von Aufgaben, wenn man anfängt Java zu lernen. Wenn man später wirklich Software entwickelt wird man so code eher seltener nutzen. Wenn, dann wäre aber vermutlich letzteres interessanter, da dort einfach sicher gestellt ist, dass es keine Elemente gibt, die nicht initialisiert wurden.
 

Jw456

Top Contributor
Konrad ich glaube er will den underschidlich bei der Erstellung des Arrays Erklärt bekommen. Du siehst das etwas zu kompliziert.

Erstes Beispiel da wird ein Array erstellt mit Platz fur vier Elemente.
Und im nechsten Schritt wird den Elementen Feldern etwas zugewiesen.

Beim Beispiel 2
Wird das Array erstellt und gleich die werte besser Strings den Feldern zugewiesen.
Wenn du schon beim coden weißt was in das array soll macht das zweite sinn.
Der Compiler erkennt selber wieviel Elemente er braucht. Wie goss das Array ist.
 

Jw456

Top Contributor
Ps das erste Beispiel wäre wenn sich die Daten im Laufe des Programms erst ergeben berechnet werden und dann zugewiesen werden.
 

KonradN

Super-Moderator
Mitarbeiter
Konrad ich glaube er will den underschidlich bei der Erstellung des Arrays Erklärt bekommen.
Das glaube ich nicht - er hat verstanden, was der Code macht und will nur wissen, wann er welche Variante nutzen soll. Seine Aussage ist ja diesbezüglich sehr deutlich:
Ich wollte fragen was genau sind denn die Vorteile und Nachteile beider Methoden?
Wann sollte ich die "umständlichere" Variante, also die obere verwenden und wann die untere?
 

Crucial

Mitglied
Also die Frage ist so für mich nicht zu beantworten. Hintergrund ist, dass man beides vermutlich einfach so nicht verwenden würde. Das erste ist ein Liste von Zahlen, bei denen ich keinen wirklichen Sinn erkennen kann. Was sind das für Daten Wozu werden diese gebraucht? Wieso genau 4 und nicht mehr oder weniger? Was für eine Bedeutung haben die?

Bei dem zweiten ist es ähnlich. Wenn es genau diese 3 Clans geben soll, dann wäre das nie ein Array sondern eher eine Enumeration.
Wenn es eine Auflistung von Clans ist, die veränderlich ist, dann wäre das also eher ein Datentyp wie eine List.

Die Fragestellung ist also maximal interessant im Bereich von Aufgaben, wenn man anfängt Java zu lernen. Wenn man später wirklich Software entwickelt wird man so code eher seltener nutzen. Wenn, dann wäre aber vermutlich letzteres interessanter, da dort einfach sicher gestellt ist, dass es keine Elemente gibt, die nicht initialisiert wurden.

Die Inhalte an sich sind uninteressant.
Ich wollte mit meinen Beispielen nur die zwei unterschiedlichen Array Methoden zeigen.
Mir ging es eher um das Allgmeine, was du mir eigentlich hiermit:

"... so code eher seltener nutzen. Wenn, dann wäre aber vermutlich letzteres interessanter, da dort einfach sicher gestellt ist, dass es keine Elemente gibt, die nicht initialisiert wurden." beantwortet hast, danke.
 

temi

Top Contributor
Ich würde sagen, dass die Variante 1 in der Praxis eher anzutreffen wäre. Es wird ein Array bestimmter Länge erstellt und diesem werden Daten zugewiesen. Erste Wahl wäre vermutlich irgend eine List<>, aber es kann Fälle geben, in denen man ein Array so einsetzen würde.

Die Variante 2 würde ich nur zum Ausprobieren verwenden, wenn ich ein Array mit ein paar Testdaten benötige.
 

Crucial

Mitglied
Ich würde sagen, dass die Variante 1 in der Praxis eher anzutreffen wäre. Es wird ein Array bestimmter Länge erstellt und diesem werden Daten zugewiesen. Erste Wahl wäre vermutlich irgend eine List<>, aber es kann Fälle geben, in denen man ein Array so einsetzen würde.

Die Variante 2 würde ich nur zum Ausprobieren verwenden, wenn ich ein Array mit ein paar Testdaten benötige.
Interessant danke
 

Neumi5694

Top Contributor
Im Normalfall würde ich weder noch verwenden, von Arrays hab ich mich bis auf sehr wenige Ausnahmen längst verabschiedet.
Bei mir würde Arrays.asList() zum Einsatz kommen.

Variante1 ermöglicht dir, bestimmte Werte nicht zu setzen und frei zu lassen, was du mit Variante 2 hinkriegst, indem du null reinschreibst.
Dafür kannst du dich aber mit Indizes vertun und versehentlich was frei lassen oder gar einen IndexOutOfBounds riskieren, das kann dir mit Variante 2 nicht passieren. Mit der kann es dir aber passieren, dass du - falls du einen Wert vergisst oder zu viel reinschreibst, mehr oder weniger Felder kriegst als ursprünglich geplant.

Aber unterm Strich ist es vollkommen egal, was von beidem du verwendest, sie liefern beide ein Array mit Werten und das ist es, was du haben wolltest. Verwende das, was du leichter lesen / warten kannst.
 

temi

Top Contributor
Ich würde sagen, dass die Variante 1 in der Praxis eher anzutreffen wäre. Es wird ein Array bestimmter Länge erstellt und diesem werden Daten zugewiesen. Erste Wahl wäre vermutlich irgend eine List<>, aber es kann Fälle geben, in denen man ein Array so einsetzen würde.

Die Variante 2 würde ich nur zum Ausprobieren verwenden, wenn ich ein Array mit ein paar Testdaten benötige.
Vielleicht noch einmal zur Klarstellung, was ich meinte.

Ich meinte mit Variante 1 ein Array eines bestimmten Typen zu erstellen und im weiteren Verlauf programmatisch mit Inhalten (aus Berechnungen oder sonst woher) zu füllen. Wobei es vermutlich nicht mehr sehr viele Anwendungsfälle gibt, in denen man dafür ein Array verwenden würde.

Ich meinte nicht das, was oben gezeigt wurde, also das Array zu erstellen und dem anschließend einfach feste Werte zuzuweisen. Wenn das benötigt wird, dann gilt eher, was ich zu Variante 2 geschrieben hatte (Testdaten o.ä.).
 

Neumi5694

Top Contributor
Ich denke, bei der Fragestellung geht es wirklich darum, wie man es besser mit Anfangswerten (ob nun fix oder nicht sei dahingestellt) befüllt.
Wenn es keine Anfangswerte gibt, sondern Werte erst im Laufe der Zeit eintrudeln, dann geht eh nur eine Variante (es sei denn, man verwendet in Variante 2 lauter nulls), dann hat sich die Frage nach der Sinnhaftigkeit erledigt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Collections Java Anfänger - Array-Struktur vollkommen unklar Java Basics - Anfänger-Themen 2
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
M Java Array Java Basics - Anfänger-Themen 8
t2im Java Array-Länge ändern? Java Basics - Anfänger-Themen 22
G Java 2-dimensionalen int-Array Summe Java Basics - Anfänger-Themen 2
Splayfer Java Array Probleme Java Basics - Anfänger-Themen 3
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
I Java zweidimensionales array befüllen mit for-schleife Java Basics - Anfänger-Themen 2
M Quiz in Java programmieren mit Array Java Basics - Anfänger-Themen 8
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
T Java: Array monat absteigend sortieren? Java Basics - Anfänger-Themen 1
S Java Array Länge aus anderer Klasse lesen Java Basics - Anfänger-Themen 1
X Java zweidimensionales Array Java Basics - Anfänger-Themen 5
X Array List geordnet ausgeben. (JSF und JAVA) Java Basics - Anfänger-Themen 1
S Array Java erweitern Java Basics - Anfänger-Themen 27
M Wie kann ich im JAVA-GUI im Textfeld ein Array speichern Java Basics - Anfänger-Themen 4
B Java Array Fakultät Function Java Basics - Anfänger-Themen 5
E Wie wird in Java ein Char-Array terminiert ? Java Basics - Anfänger-Themen 15
kilopack15 Java Array Skalarprodukt testen Java Basics - Anfänger-Themen 21
T Variablen PHP Array jetzt für Java Java Basics - Anfänger-Themen 1
W Erste Schritte füllen Attribute java Klasse in for Schleife und Array Java Basics - Anfänger-Themen 16
X wie kann ich in bluej/java einene 2d array mit zahlen fuellen, so dass sich diese in der der zeilen Java Basics - Anfänger-Themen 2
J Java Array Zeichnung Skalieren und verschieben Java Basics - Anfänger-Themen 5
P Java : Array Fehler Java Basics - Anfänger-Themen 4
B Java rekursion minimum von ein array Java Basics - Anfänger-Themen 2
U JAVA - Ungerade Zahlen Array Java Basics - Anfänger-Themen 9
B Input/Output Formatierter Text aus PDF als Array auswerten in JAVA möglich ? Java Basics - Anfänger-Themen 8
T Erste Schritte Java ein Array Feld[index] zurueckgeben? Java Basics - Anfänger-Themen 20
U Kann man in Java ein Array zum Teil vorbelegen? Java Basics - Anfänger-Themen 4
J Java-Array abwechselnd Gross- und Kleinbuchstaben Java Basics - Anfänger-Themen 5
M Java spuckt Exeption bei Array aus Java Basics - Anfänger-Themen 2
S Java Array Basic Java Basics - Anfänger-Themen 5
M java.util.ArrayList to java.sql.Array Java Basics - Anfänger-Themen 4
K Java Array Problem Java Basics - Anfänger-Themen 3
M Java Array - Durchschnitt Java Basics - Anfänger-Themen 7
S java array Java Basics - Anfänger-Themen 7
S JAVA Array Anwendersystem Java Basics - Anfänger-Themen 8
K java.lang.NullPointerException in Array bei Arraylistübergabe Java Basics - Anfänger-Themen 7
A Anfängerfrage - array required, but java.lang.String found Java Basics - Anfänger-Themen 7
J Ringpuffer als Array in Java ;-) Java Basics - Anfänger-Themen 3
B Java Array List größe auslesen zur Suchfunktion Java Basics - Anfänger-Themen 5
C Bäume in Java. Knoten in Array speichern Java Basics - Anfänger-Themen 3
C Java Array wie in PHP? Java Basics - Anfänger-Themen 9
S Java - Double-Array-Wertzuweisung erfolgt nicht Java Basics - Anfänger-Themen 4
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben