Java Listen-Elemente an Stelle x bis unendlich ausgeben?
Hallo möchte in Java von einer Liste alle Element ab der Stelle x ausgeben. das heißt bei der Liste ["Apfel", "Zitrone", "Birne", "Banane"] soll zum Beispiel alles ab "Zitrone" (Index 1) ausgegeben werden -> "Zitrone", "Birne", Banane". Als Vergleich: In Python kann man liste[1:] verwenden. Gibt es sowas auch in Java?
2 Antworten
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
Nimm einfach eine for-Schleife, die ab dem gewünschten Index startet.
for (int index = 1; index < list.size(); ++index) {
System.out.println(list.get(index));
}
Stelle vorher noch sicher, dass die Liste überhaupt so viele Elemente hat, wie erwartet.
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
Gewohnheit, von älteren Zeiten.
Bei der Preinkrementation wird der Wert erhöht und zugleich zurückgegeben.
value = value + 1
return value
Bei der Postinkrementation ist ein Schritt mehr notwendig.
oldValue = value
value = value + 1
return oldValue
Im obigen Fall (bei der Schleife) wird es keinen Unterschied machen, denn moderne Compiler optimieren solche Ausdrücke selbst schon weg.
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Ah, Performanceoptimierung, das macht Sinn.
Finde es immer wieder interessant zu sehen, was früher alles anders gemacht wurde, um das Programm performant zu halten und den Speicherverbrauch zu reduzieren :)
Wenn du einen Stern abstauben willst, kannst du die Antwort bei meiner Umfrage Copy-Pasten. Geholfen hast du mir damit ja bereits, jetzt weiß ich nämlich endlich, warum viele ältere Programmierer (unter anderem auch der Großteil meiner Professoren) ++i hernehmen. ^^
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Achja, noch eine Frage:
Du sagst Compiler optimieren das...
Interpreter, wie zum Beispiel bei JavaScript, auch?
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
Um ganz korrekt zu sein, müsste man je Compiler / Interpreter nochmal konkret nachschauen, was passiert. Aber du kannst mit hoher Wahrscheinlichkeit davon ausgehen, dass auch bei JS-Interpretern eine entsprechende Optimierung stattfindet.
![](https://images.gutefrage.net/media/user/MrAmazing2/1562539605664_nmmslarge__63_0_466_466_da6195808c107c57ce2a8b233a2bcf4f.jpg?v=1562539606000)
Wenn deine Liste eine ArrayList ist, kannst du dafür die
.subList()
Methode verwenden.
Du kannst der Methode zwei Parameter übergeben. Einen Von-Index und einen Bis-Index. Diese legen fest, welchen Bereich aus dem Originalen Array du haben willst.
In deinem Fall wäre der Von-Index 1, da du alles ab Index 1 haben willst.
Hier findest du gute Beispiele:
http://www.geeksforgeeks.org/arraylist-sublist-method-in-java-with-examples/amp/
Warum ++index, anstatt index++?
Hab dazu auch gleich eine Umfrage gestellt, hast sie vermutlich schon gesehen.