Quelle méthode tronque une liste - par exemple aux 100 premiers éléments - rejeter les autres (sans itération à travers des éléments individuels)?Tronquer une liste à un nombre donné d'éléments
Répondre
Utilisation 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);
}
}
Vous devez garder à l'esprit que subList
retourne une vue des éléments, donc si vous voulez que le reste de la liste être admissible à la collecte des ordures, vous devez copier les éléments que vous voulez à un nouveau List
:
List<String> subItems = new ArrayList<String>(items.subList(0, 2));
Si la liste est plus courte que la taille spécifiée, attendez-vous à un dépassement exception. Choisissez la valeur minimale de la taille désirée et la taille actuelle de la liste comme index de fin. Enfin, notez que le second argument doit être un de plus que le dernier index désiré.
list.subList(100, list.size()).clear();
ou:
list.subList(0, 100);
La première option modifie la liste alors que la seconde ne le fait pas. Il devrait être 'list = list.subList (0, 100)' –
Notez également que 'subList (100, list.size()). Clear()' ne fonctionnera que si la liste a sa méthode claire implémentée, par exemple si vous create 'list' par' List
- 1. Convertir un nombre à une liste d'entiers
- 2. Comment détecter si un nombre donné est un nombre entier?
- 3. Comment tronquer facilement un tableau avec JavaScript?
- 4. xsl tronquer une décimale
- 5. Tronquer un VARCHAR à une longueur spécifique dans Derby AUTOMATIQUEMENT
- 6. validant que seul un nombre donné d'entrées est marqué
- 7. Comment puis-je obtenir une liste de processus enfants pour un service donné en C#?
- 8. C# - Tronquer après une position
- 9. Comment exporter une liste de bases de données résidant sur un serveur Domino donné?
- 10. Liste des résolutions valides pour un écran donné?
- 11. Comment recharger automatiquement une page Web à un moment donné?
- 12. arrondi à virgule flottante lorsque tronquer
- 13. Comment tronquer une date dans .net?
- 14. Sélection de produits vendus à un ensemble donné de clients
- 15. Tronquer les appels à la méthode
- 16. Obtenir une liste de paramètres à partir d'un SQLDataSource donné Nom de la procédure stockée
- 17. Convertir un nombre entier en une liste de jours de la semaine
- 18. Comment obtenir le nombre de combinaisons suivantes pour un ensemble donné?
- 19. Comment tronquer un fichier en C?
- 20. Comment puis-je vérifier si une chaîne contient un nombre inférieur à un nombre entier?
- 21. Répertorier des répertoires à un niveau donné dans Amazon S3
- 22. Comment créer une liste liée OneTwoThree avec un nombre minimum d'opérateurs d'affectation?
- 23. outil de reporting pour C++ qui indique le nombre de fois Exécuté donné une ligne
- 24. de Split une liste en nombre X de colonnes
- 25. Envoyer un onclick à une liste déroulante
- 26. Nombre maximum de champs de recherche dans une liste
- 27. Quel programme crée un tableau C donné à un fichier?
- 28. Extraire chaque nombre dans la liste et reconstruire la liste?
- 29. Utilisation de jQuery pour trouver le nombre d'éléments TR dans un tableau donné
- 30. Liste personnalisée: limite Nombre maximal d'éléments
alors que la question n'est pas tout à fait claire, on dirait que sam veut supprimer la fin de la liste. Par conséquent votre réponse devrait inclure un list.clear(). –
Il est peu probable que cela fonctionne aussi bien que la solution de karim79, qui est la meilleure alternative - elle a la meilleure chance de bien fonctionner et est aussi le code le plus propre. –
Je pense que cela dépend du nombre d'éléments à supprimer (et aussi si la liste supporte la modification) –