这是我的浏览方法。我正在尝试搜索“ dictionaryEntry”对象的哈希图,仅查看条目的“ word”部分。 (b.word)。这个想法是,您可以搜索整个词典并返回以给定方法的字符串开头的所有单词。例如,您可以返回所有以字符串“ sto”开头的单词。我的想法是遍历哈希图,如果单词的子字符串从零位置开始到输入字符串的长度结束,则将其添加到数组列表中。然后将返回数组列表。
public ArrayList<dictionaryEntry> browse(String s) {
ArrayList<dictionaryEntry> brow = new ArrayList<dictionaryEntry>();
for (dictionaryEntry b : hash.values()) {
if ((b.word.substring(0, s.length())).equals(s)) {
brow.add(new dictionaryEntry(b.word, b.definition));
}
}
return brow;
}
最佳答案
一种更简单的方法是使用Java String startsWith API。然后,此功能将变为:
public ArrayList<dictionaryEntry> browse(String s) {
ArrayList<dictionaryEntry> brow = new ArrayList<dictionaryEntry>();
for (dictionaryEntry b : hash.values()) {
if (b.word.startsWith(s)) {
brow.add(new dictionaryEntry(b.word, b.definition));
}
}
return brow;
}