java - null 可以作为 Java 中 HashSet 的元素吗?

标签 java hashset

HashSet 本质上用于对项目进行恒定时间查找。为什么需要查找空项?

最佳答案

Why would there be a need to look up for a null item?

因为null很可能是一个项目的有效值...根据程序员开发的程序设计!!

(IMO,在大多数情况下这可能是一个坏主意,但实际上这并不取决于你和我来做出这个决定。)

一旦您接受程序员可以拥有 null 的有效用例。项,那么 HashSet 就有意义了处理null这样程序员就不需要处理 null作为将其放入集合时的特殊情况。

<小时/>

在设计 API 时,API 设计者认为应该如何使用 API 与 API 用户认为应该如何使用 API 之间存在着矛盾。对于 API 设计者来说,试图过于强烈地强加自己的观点是一个坏主意,尤其是当理由有争议时。

通用性和效率之间也可能存在紧张关系。在这种情况下,我们需要检查允许 null 的实际运行时间成本。项目。从表面上看,需要进行额外的测试来查看某个项目是否是 null 。然而,对代码进行更深入的分析很可能会发现替代版本有一个隐式 null在引擎盖下进行测试...处理 NullPointerException 的情况需要抛出。

关于java - null 可以作为 Java 中 HashSet 的元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40066563/

相关文章:

java - 将 Activity 上下文转换为接口(interface)会抛出 ClassCastException

java - 如何解决 Image not found java.io.FileNotFoundException?

java - 在Java中获取当前年份的整数值

java - 高效获取 LinkedHashSet 中最近插入的元素

java - 如何从已实现的集合中获取随机元素?

java - 错误消息 "cannot find symbol"

java - Java中的二项式检验

c# - 为什么 C# hashSet 接受添加具有相同 getHashCode() 值的两个对象?

JAVA HashSet顺序

java - 将我的 HashSet 显示到 ListView