Java 8 : What is the shortest way to initialize a hash set of one key?

标签 java

目前,这是我创建一个元素的 HashSet 的方式:

new HashSet<>(Arrays.asList("123"))

你能想出一种适用于 Java 8 的更短的方法吗?

我知道在 Java 9 中允许使用这种语法:

Set.of("123")

不幸的是,它在 Java 8 中不兼容。

最佳答案

如果您只需要一个集合,而不是哈希集,您可以使用 Collections.singleton("123") 。这会返回一个由一个元素组成的不可变集合,这就是 Set.of("123") 在 Java 9+ 中返回的内容。

请注意,Set.of(...)singleton(...) 都没有声称返回一个哈希集,而只是一个单值不可变集。

如果您想要一个 HashSet 的实际实例,您可以转换为一个,但随后您会得到类似于您已经拥有的东西:

new HashSet<>(Collections.singleton("123"))

(但没有为 Arrays.asList(...) 创建不必要的数组)

关于Java 8 : What is the shortest way to initialize a hash set of one key?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60372468/

相关文章:

java - 如何使用hashmap将字符设置为等于不同的字符?

java - 使用 SAP Java IDoc 类库解析 XML 格式的 IDoc

Java 视频教程

java - 如何将 python 套接字中的值存储在 double 值中?

java - 在服务器上录制

java - 从具有颜色强度的双数组创建图像

java - Encog 回归具有线输出权重可靠性。 (用于错误思考)

java - Hibernate ManyToMany JoinTable 默认 OrderBy

java - dayOfMonth 的值 31 必须在 [1,30] 三月范围内

java - 许可游戏Java循环崩溃