gpt4 book ai didi

java - 如何计算 ArrayList 中的唯一值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:58:48 26 4
gpt4 key购买 nike

我必须使用 Java 计算文本文档中唯一单词的数量。首先,我必须去掉所有单词中的标点符号。我使用 Scanner 类扫描文档中的每个单词并放入一个字符串 ArrayList

所以,下一步就是我遇到的问题!如何创建一个方法来计算数组中唯一字符串的数量?

例如,如果数组包含apple, bob, apple, jim, bob;该数组中唯一值的数量为 3。


public countWords() {
try {
Scanner scan = new Scanner(in);
while (scan.hasNext()) {
String words = scan.next();
if (words.contains(".")) {
words.replace(".", "");
}
if (words.contains("!")) {
words.replace("!", "");
}
if (words.contains(":")) {
words.replace(":", "");
}
if (words.contains(",")) {
words.replace(",", "");
}
if (words.contains("'")) {
words.replace("?", "");
}
if (words.contains("-")) {
words.replace("-", "");
}
if (words.contains("‘")) {
words.replace("‘", "");
}
wordStore.add(words.toLowerCase());
}
} catch (FileNotFoundException e) {
System.out.println("File Not Found");
}
System.out.println("The total number of words is: " + wordStore.size());
}

最佳答案

你可以使用 Set 吗?如果是这样,你HashSet可能会解决你的问题。 HashSet 不接受重复项。

HashSet noDupSet = new HashSet();
noDupSet.add(yourString);
noDupSet.size();

size() 方法返回唯一单词的数量。

如果您真的只需要使用ArrayList,那么实现的一种方法可能是,

1) Create a temp ArrayList
2) Iterate original list and retrieve element
3) If tempArrayList doesn't contain element, add element to tempArrayList

关于java - 如何计算 ArrayList 中的唯一值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12719998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com