java - 如果元素存在,Set.remove 是否可能返回 false?

标签 java

考虑以下示例:

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 方法的结果。

最佳答案

没有。如果元素存在,则无法得到 false。

如果您查看 docs , 明确提到。

true if this set contained the specified element

关于java - 如果元素存在,Set.remove 是否可能返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43343111/

相关文章:

java - 使用 multipart/form-data 或 multipart/mixed 在获取 JSON 和文件时让 Spring 进行映射

java - URI.getPath() 在 '#' 之后不返回任何内容

java - MIG 布局未显示正确的格式

java - 从联系人列表中获取电话号码

java - 如何命名下载的数据: file?

Java内部类和静态嵌套类-二进制差异

java - 使 SOLR 拼写检查器搜索不区分大小写但返回原始大小写

java - Java 中两个不同类中的相同泛型类型

java - 使用 persistence.xml 时将 Hibernate 4.0 与 Tomcat 7 结合使用时出现 JndiException

java - 为 MongoDB Java 驱动程序配置日志记录