Inhalt einer Liste ausgeben

DrIkarus

Mitglied
Hallo,

ich hab da mal ne wahrscheinlich extrem dumme Frage.
Ich möchte in der Konsole den Inhalt einer Liste ausgeben.
Also hab ich erstmal eine Liste erstellt:

Code:
int[] list = {1,2,3,4};
System.out.println (****)

Wenn ich jetzt in die Klammer als Bsp. 0 eingebe:
Code:
System.out.println(list[0])
dann wird ja nur die Zahl angezeigt die auf dem Index 0 liegt, richtig?
Also 1.

Wenn ich jetzt aber nicht auf die Indizes zugreifen will, sondern in der Konsole den Inhalt der Liste ausgeben will, was muss ich denn in die Klammern schreiben?

Wenn ich
Code:
System.out.println (list)
schreibe, dann gibt mir die Konsole totalen Murks aus und zwar: [I@3e25a5

Benutz ich den falschen Datentyp? Ist das ganze Konzept sinnlos?
Bei Haskell geht das irgendwie leichter ;-)

Denkanstöße wären super, danke schonmal!
 
Also erstmal ist das in dem Sinne keine Liste, sondern ein Array (Feld). Da gibt's einen kleinen Unterschied: Listen sind dynamisch von ihrer größer her. Felder haben eine statische Größe!

Die Ausgabe kannst du auf zweierlei Art machen. Einmal kannst du das ohne Schleife, wobei du wenig Einfluss auf die Formatierung hast:

Java:
Sysm.out.println(list.toString());

Oder du machst es mit einer Schleife, hier die foreach:

Java:
for (int i : list) {
  System.out.println(i);
}
 
Moin,

[EDIT]zu spät *grummel*[/EDIT]


da Deine Liste ein Array ist, einfach über die Arraylänge itterieren :
Java:
for( int i = 0; i < list.length; i++
{
    System.out.println(list[i]);
}

Vorsicht: ist VHIDT :p

Gruß
Klaus
 
Zuletzt bearbeitet:
Moin,

Das funktioniert 1a, danke dafür.
Das mit den Arrays und den Listen muss ich nochmal nachschlagen.

Prima :)

Und um Dich mal so richtig zu verwirren :

es gibt grundlegend 3 Typen: Arrays / Listen / ArrayListen ;-)

Array: http://www.dpunkt.de/java/Die_Sprache_Java/Die_Sprachelemente_von_Java/41.html#x319
ArrayList: http://www.dpunkt.de/java/Referenz/Das_Paket_java.util/7.html#x3072
List : http://www.dpunkt.de/java/Referenz/Das_Paket_java.util/32.html#x3097

Gruß
Klaus
 
Oh ha, das ist ja komplexer als ich dachte.

Kann ich denn, obwohl ich keine Liste sondern ein Array habe trotzdem auf einzelne Elemente zugreifen? Also nicht auf den Index der Zahl, sondern die Zahl selbst.
Hab jetzt grad gelesen, dass man alle Elemente des Arrays mit einer Schleife bearbeiten kann.

Bsp:

for (int i=4; i<10; i++)
System.out.println((i + "Extra\n"))

Kann ich sowas dann auch auf die Elemente einzeln verwenden ?
In Haskel gabs ja immer diese map Funktionen, gibts sowas auch bei Java?
 
Ja, man kann mittels dem []-Operator auch auf einzelne Array-Elemente zugreifen. Allerdings auch nur bei Arrays! Bei Listen gibt es eine Methode namens get().

Auch Maps gibt es in Java. Das Pendant zum Interface List heißt Map und eine implementierte Map ist z.B. die HashMap.
 
Moin

Oh ha, das ist ja komplexer als ich dachte.
nö, nicht wirklich :p

Kann ich denn, obwohl ich keine Liste sondern ein Array habe trotzdem auf einzelne Elemente zugreifen? Also nicht auf den Index der Zahl, sondern die Zahl selbst.
Hab jetzt grad gelesen, dass man alle Elemente des Arrays mit einer Schleife bearbeiten kann.
Bsp:
for (int i=4; i<10; i++)
System.out.println((i + "Extra\n"))
Kann ich sowas dann auch auf die Elemente einzeln verwenden ?
In Haskel gabs ja immer diese map Funktionen, gibts sowas auch bei Java?
Ja, natürlich ... so wie ich oben schon schrieb :D

Beispiel:
Java:
for( int i = 0; i < list.length; i++ )
{
    System.out.println( list[i] );  // gibt das i-te Element von 'list' aus
}

Schau mal genauer auf die Links in meinem Post weiter oben !!

Gruß
Klaus
 
Zurück