Java Listen-Elemente an Stelle x bis unendlich ausgeben?

2 Antworten

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.

MrAmazing2  08.03.2021, 17:37

Warum ++index, anstatt index++?

Hab dazu auch gleich eine Umfrage gestellt, hast sie vermutlich schon gesehen.

0
regex9  08.03.2021, 17:52
@MrAmazing2

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.

1
MrAmazing2  08.03.2021, 18:02
@regex9

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. ^^

0
MrAmazing2  08.03.2021, 18:05
@regex9

Achja, noch eine Frage:

Du sagst Compiler optimieren das...

Interpreter, wie zum Beispiel bei JavaScript, auch?

0
regex9  08.03.2021, 18:20
@MrAmazing2

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.

1

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/

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf