【发布时间】:2011-04-26 05:54:54
【问题描述】:
我只是想知道,一次将多个项目添加到 HashSet 的最佳方法是什么?
我正在做一个家庭作业,其中对象是遍历 .java 文件并计算文件中的关键字。在分配描述的底部它说(“提示:创建一个集合来保存所有 Java 关键字”)
我对 HashSets 不是很熟悉,也不知道如何一次添加一大堆单词,当然也不想经过 .add("final") .add("true ") .. 等每个关键字。
所以,我创建了一个包含所有这些单词的数组列表。然后我使用了一个 for 循环循环并将每个循环添加到集合中。但是,这似乎是多余的。如果我将所有关键字都放在一个数组中,那么我不明白为什么需要将它们添加到 HashSet 才能完成分配。 但是,为了学习更多关于 HashSets 的知识,有没有办法不用我使用的方法(除了 1 by 1)来做到这一点?
String[] aryKeywords = { "abstract", "asset", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", "default", "do", "double", "else", "enum", "extends", "final", "finally", "float", "for", "goto", "if", "implements", "import", "instanceof", "int", "interface", "long", "native", "new", "package", "private", "protected", "public", "return", "short", "static", "strictftp", "super", "switch", "synchronized", "this", "throw", "throws", "transient", "try", "void", "volatile", "while", "false", "null", "true" };
Set<String> jKeywords = new HashSet<String>();
for (int i = 0; i < aryKeywords.length; i++) {
jKeywords.add(aryKeywords[i]);
}
感谢您的任何见解!
【问题讨论】:
-
我猜这个作业需要你计算文件中的 distinct 关键字。将单词添加到 Set 是过滤重复项的简单方法;结果集大小是不同关键字的数量。
-
好点。既然您已经提出了这一点,我可以看出这可能是意图。现在,我必须完成并编辑我的作业!我已经完成了对所有关键字的计数。 pastebin.com/m7kWzhie