Je recherche une classe de Java Collection Framework qui n'autorise pas les éléments nuls. En connaissez-vous un?
Réponses
Trop de publicités? Utilisez Constraints
:
import com.google.common.collect.Constraints;
...
Constraints.constrainedList(new ArrayList(), Constraints.notNull())
de Guava pour une flexibilité maximale.
La plupart des Queue
des implémentations (à l'exception notable de l' LinkedList
) n'acceptent pas d' null
.
EnumSet
est un objectif spécifique Set
mise en œuvre qui ne permet pas de null
valeurs.
Il y a un tour d'horizon de ces collections ici .
Apache Commons Framework - CollectionUtils.addIgnoreNull
S'ajoute à myList si myObj n'est pas null.
org.apache.commons.collections.CollectionUtils.addIgnoreNull(myList, myObj)
Utilisation de Google Guava Predicates (la réponse de @Joachim Sauer est obsolète)
//list is the variable where we want to remove null elements
List nullRemovedList=Lists.newArrayList(Iterables.filter(list, Predicates.notNull()));
//Or convert to Immutable list
List nullRemovedList2=ImmutableList.copyOf(Iterables.filter(list, Predicates.notNull()));