Welche Methode schneidet eine Liste ab - zum Beispiel auf die ersten 100 Elemente - verwirft die anderen (ohne durch einzelne Elemente zu iterieren)?Eine Liste auf eine bestimmte Anzahl von Elementen abschneiden
Antwort
Verwendung List.subList
:
import java.util.*;
import static java.lang.Math.min;
public class T {
public static void main(String args[]) {
List<String> items = Arrays.asList("1");
List<String> subItems = items.subList(0, min(items.size(), 2));
// Output: [1]
System.out.println(subItems);
items = Arrays.asList("1", "2", "3");
subItems = items.subList(0, min(items.size(), 2));
// Output: [1, 2]
System.out.println(subItems);
}
}
Sie sollten bedenken, dass subList
einen Blick auf die Elemente zurückgibt, wenn Sie also den Rest der Liste wollen Wenn Sie für die Garbage Collection berechtigt sind, sollten Sie die gewünschten Elemente in ein neues List
:
List<String> subItems = new ArrayList<String>(items.subList(0, 2));
Wenn die Liste kürzer als die angegebene Größe ist, erwarten Sie eine Out-of-Bounds exception. Wählen Sie den Mindestwert der gewünschten Größe und die aktuelle Größe der Liste als Endindex.
Schließlich, beachten Sie, dass das zweite Argument eine mehr als der letzte gewünschte Index sein sollte.
list.subList(100, list.size()).clear();
oder:
list.subList(0, 100);
Die erste Option ändert die Liste, die zweite Option nicht. Es sollte 'list = list_List (0, 100)' sein. –
Beachten Sie auch, dass 'subList (100, list.size()). Clear() 'nur funktionieren wird, wenn list seine clear-Methode implementiert hat, zum Beispiel wenn Sie Erstelle 'liste' nach' Liste
- 1. Entpacken Sie eine bestimmte Anzahl von Elementen in Python?
- 2. Wie gruppiere ich eine bestimmte Anzahl von Elementen mit jQuery?
- 3. Warte auf eine bestimmte Anzahl von Objekten?
- 4. Nehmen Sie eine variable Anzahl von Elementen aus der Liste
- 5. Eine Liste auf eine bestimmte Weise auffüllen
- 6. String-Übereinstimmungen zwischen zwei Listen für eine bestimmte Anzahl von Elementen in einer dritten Liste zurückgeben
- 7. "output_shape hat eine falsche Anzahl von Elementen"
- 8. Eine Zahl auf angegebene Dezimalstellen abschneiden
- 9. Twig - Wie eine bestimmte Anzahl von Wiederholungen
- 10. Ich brauche eine beliebige Anzahl + eine bestimmte Anzahl in Java
- 11. Verwenden Sie Ajax, um bei jedem Klick auf eine Schaltfläche eine bestimmte Anzahl von Elementen aus einem DataObject zu laden?
- 12. Angemessene SHA1 Hash-Länge für eine bestimmte Anzahl von Werten
- 13. In C#, wie kann ich eine Liste eine bestimmte Anzahl von Orten drehen?
- 14. Wie behalte ich eine bestimmte Anzahl von Elementen in einem Array?
- 15. Der effizienteste Weg, um eine bestimmte Anzahl von Elementen in einer db.Model ListProperty
- 16. Drucken Sie nur eine bestimmte Anzahl von Counter-Elementen mit einer anständigen Formatierung.
- 17. Abrufen einer Anzahl von Array-Elementen, die bestimmte Kriterien erfüllen
- 18. Erhalten Sie eine feste Anzahl von Elementen von einem Generator
- 19. Wie kann ich eine bestimmte Anzahl von Elementen aus einem Array entfernen?
- 20. Erhalten Sie Ordner, die eine bestimmte Anzahl von Verzeichnissen enthalten
- 21. Wie variable Anzahl von Elementen auf Halbkreis
- 22. Capybara: Wie man eine gegebene Anzahl von Elementen anerkennt
- 23. Ist es möglich, eine generische Methode auf eine Liste von Elementen anzuwenden?
- 24. Wie reguliere ich eine unbekannte Anzahl von sich wiederholenden Elementen?
- 25. Entfernen Sie eine bestimmte Gruppe von Elementen in einem Vektor?
- 26. Hohe Laufzeit für Dictionary.Add für eine große Anzahl von Elementen
- 27. Dezimal auf die angegebenen Stellen abschneiden
- 28. Ersetzen Sie eine bestimmte Anzahl in der Datei auf ssh
- 29. Wie man eine Liste von Elementen in eine Liste von Listen konvertiert
- 30. Berechnung der optimalen Anzahl von Elementen pro Seite, so dass eine bestimmte Palette von Elementen auf einer einzigen Seite angezeigt werden, mit dem niedrigsten Index
während die frage ist nicht genau klar, es klingt wie sam will ein das ende der liste gelöscht. Daher sollte Ihre Antwort eine list.clear() enthalten. –
Dies ist wahrscheinlich nicht so gut wie die Lösung von Karim79, die die beste Alternative ist - sie hat die besten Chancen, gut zu funktionieren und ist auch der sauberste Code. –
Ich denke, es hängt von der Anzahl der Elemente ab, die entfernt werden sollen (und auch wenn die Liste Änderungen unterstützt) –