CollectionUtils dans Java en utilisant le prédicat
J'ai un List<Object>
et je veux revenir à la première valeur qu'il trouve sa vraie qui correspond à un prédicat.
J'ai trouvé que je peux utiliser CollectionUtils.find(collection,predicate)
(Apache commons). En supposant que le Object
contient une variable de type entier appelé : value
, comment puis-je spécifier dans le prédicat que la valeur peut être 1,2,3,4,5
et éliminer ceux qui ne correspondent pas. Est-il possible de ne "contient".
Également pas à l'aide de java 8, donc incapable de faire un flot.
source d'informationauteur Rory Lester
Vous devez vous connecter pour publier un commentaire.
De retourner le premier élément dans la liste qui correspond à la donnée de prédicat:
Pour filtrer la liste, de sorte qu'il ne contient que les éléments correspondant au prédicat:
Vous pouvez remarquer que le
Predicate<MyObject>
est le même.Dans Java 8, vous pouvez écrire
Avant Java 7, la solution la plus simple est d'utiliser une boucle.
Ce serait le plus propre et le plus rapide que Java 7 n'est pas prise en charge pour les lambdas.
Vous pouvez utiliser Les Collections.removeIf (je suis en supposant que vous utilisez le JDK 8). Vous pouvez également utiliser un Flux :
À l'aide d'Apach Commons Collections, vous pouvez utiliser CollectionUtils.filtre.