63 votes

Java obtient le dernier élément d'une collection

J'ai une collection, je veux récupérer le dernier élément de la collection. Quelle est la manière la plus simple et la plus rapide de le faire ?

Une solution consiste d'abord à toArray(), puis à renvoyer le dernier élément du tableau. Y a-t-il d'autres meilleurs?

61voto

palacsint Points 9823

Iterables.getLast de Google Goyave. Il a une certaine optimisation pour List s et SortedSet s aussi.

14voto

nikolai.serdiuk Points 405

Ce n'est pas une solution très efficace, mais une solution efficace :

 public static <T> T getFirstElement(final Iterable<T> elements) {
    return elements.iterator().next();
}

public static <T> T getLastElement(final Iterable<T> elements) {
    T lastElement = null;

    for (T element : elements) {
        lastElement = element;
    }

    return lastElement;
}

14voto

Samad Charania Points 51

Cela devrait fonctionner sans conversion en liste/tableau :

 collectionName.stream().reduce((prev, next) -> next).orElse(null)

10voto

kukudas Points 2049

Eh bien, une solution pourrait être :

 list.get(list.size()-1)

Edit: Vous devez convertir la collection en liste avant peut-être comme ceci: new ArrayList(coll)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X