java - 使用循环Java制作多个HashSet

标签 java for-loop hashset

我正在尝试编写将使用 for 循环创建多个 HashSet 的代码。我正在尝试根据长度存储唯一单词的出现。例如,长度为 4 的单词将放入 HashSet A,而长度为 20 的单词将放入 HashSet B。有没有办法让我使用 for 循环 (int i=4; i<21; i++) 而不是手动创建 16 个 HashSet? ?谢谢!

最佳答案

而不是有 16 个不同的 HashSet的,你可以有一个Map<Integer, Set<String>> .

因此,在添加时,您可以只测试是否有一个 key是否已经存在。如果有 key ,只需将单词添加到 Set对于那个键,否则添加一个新条目。

因此,这是您需要遵循的步骤:-

  • 获取单词的长度。说 length .
  • 测试是否Map包含键 length - Map#containsKey(Object)

  • 如果 length key 在那里,得到 Set对于那个 key - Map#get(Object) .并添加 word那个Set .

  • 如果length key 不存在,创建一个新的 HashSet , 在其中添加当前单词。并在您的 Map 中添加一个新条目以当前长度为键 - Map#put(K, V)

关于java - 使用循环Java制作多个HashSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14483236/

相关文章:

java - Java 中集合的 size() 的时间复杂度是多少?

java - 迭代哈希集并打印结果

java - 使用扫描仪读取日语字符

java - 使用 JRuby 连接到 MS SQL Server

eclipse - 如何使用不同的 Java 版本运行 Eclipse?

java - 在for循环中初始化变量

java - 错误请求错误单元测试多部分 Spring 支架

r - 如何从R中的数据框中删除负值

java for 循环不工作

Java : Implementing iterator for user-created HashSet class. next() 和 hasNext() 的语义?