Considérons une liste chaînée de chaînes que je suis quelque partJava: supprimer une gamme d'indices d'une liste
LinkedList<String> names = getNames();
Maintenant, je veux supprimer les premiers k éléments de la liste. À l'heure actuelle, je vais le faire de cette façon:
for (int i = 0 ; i < k ; i++) {
names.removeFirst();
}
Est-il possible de le faire de manière plus efficace et d'appeler à la place quelque chose comme:
names.removeRange(0, k);
Notez que je préfère ne pas construire un tout nouveau liste à l'aide sublist()
, comme pour les petites valeurs k
, popping k
fois serait encore plus efficace que la construction de la nouvelle liste
Ce ne sera pas plus efficace de faire simplement 'noms = names.sublist (k, noms. taille()) '? – SomethingSomething
Je préfère ne pas construire une nouvelle liste, car pour les petites valeurs 'k', il serait moins efficace de simplement faire sauter' k' fois – SomethingSomething
@SomethingQuelquechose 'subList' ne crée pas de nouvelle liste. C'est une vue sur la même liste sous-jacente. – janos