J'ai deux HashSets avec le même type d'objets. Mes critères de recherche sont les suivants : rechercher dans le premier ensemble et, s'il n'est pas présent, rechercher dans un autre ensemble. J'ai essayé avec la couche Stream en suivant les étapes ci-dessous
Set<MyObject> firstSet = new HashSet<>();
Set<MyObject> secondSet = new HashSet<>();
et ces deux ensembles ont certaines valeurs.
Predicate<MyObject> match = myObject -> StringUtils.equals(myValue, myObject.getMyValue());
firstSet.values().stream().filter(match).findFirst()
.orElse(secondSet.values().stream().filter(match)
.findFirst().orElseThrow(()-> new MyException()));
Mon objet correspondant est dans le premier ensemble et j'ai essayé de l'obtenir manuellement et je l'ai obtenu... mais en utilisant l'itération ci-dessus, je reçois toujours l'exception même si le premier ensemble a l'objet correspondant. Merci de me corriger... merci d'avance.