<分区>
我有两个具有相同类型对象的 HashSet。我的搜索条件是,在第一组中搜索,如果不存在,则在另一组中搜索。我已经按照下面给出的步骤尝试使用 Stream 层
Set<MyObject> firstSet = new HashSet<>();
Set<MyObject> secondSet = new HashSet<>();
并且这两个集合具有一些值。
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()));
我的匹配对象在第一个集合中,我试图手动获取它并且我得到了它......但是使用上面的迭代,即使第一个集合有匹配的对象,我总是会得到异常。请纠正我..谢谢提前。