は、次の例を考えてみましょう:要素が存在する場合、Set.removeはfalseを返すことがありますか?
public Optional<User> getUser(Integer id) {
for(User user : usersSet) {
if(user.getId().equals(id)) return Optional.of(user);
}
return Optional.empty();
}
public void deleteUser(Integer id) {
User user = getUser(id).orElseThrow(new RuntimeException("User not found"));
boolean result = usersSet.remove(user);
}
は結果が偽である任意の場合はありますか?
HashSetのremove
メソッドの結果を確認する必要があるかどうかはわかりません。
のためのメソッド
equal()
とにかく 'optional'を使用している場合は、' users.stream()。filter(u - > u.getId() .equals(id))。findFirst(); ' – biziclopアドバイスありがとう:)。 –