当我的文本文件包含:
a b c b
我的HashSet和TreeSet说有3个独特的单词。
当我的文本文件包含:
a b c a
我的HashSet和TreeSet说有4个独特的单词。
为什么?
public static int countUnique1A(WordStream words) {
HashSet<String> hashSetA = new HashSet<String>();
for (String i : words) {
hashSetA.add(i);
}
return hashSetA.size();
}
public static int countUnique1B(WordStream words) {
TreeSet<String> treeSetA = new TreeSet<String>();
for (String i : words) {
treeSetA.add(i);
}
return treeSetA.size();
}
答案 0 :(得分:6)
我想这可能是因为单词之间的空格。例如。 HashSet
可能包含“a”和“a”。你能尝试改变吗?
hashSetA.add(i);
到
hashSetA.add(i.trim());
我们也需要为treeSetA
做同样的事情。