0

我是 Java 新手,作为一个学习项目,我想编写一个小词汇应用程序,以便用户可以测试自己,也可以搜索条目。但是,我很难为此找到合适的数据结构,即使在过去几天搜索它之后,我仍然不知所措。

这是我对词汇对象的想法:

import java.io.*;

class Vocab implements Serializable {
String lang1;
String lang2;
int rightAnswersInARow;  // to influence what to ask during testing
int numberOfTimesSearched;  // to influence search suggestions

    // ... plus the appropriate setter and getter methods.
}
  1. 现在进行测试,乍一看ArrayList似乎是最合适的(选择一个随机数,然后选择要测试的对象)。但是,如果我还想rightAnswersInARow更频繁地考虑并询问数量较少的词汇怎么办?我的方法是计算每个值的对象数量,给每个值一个区间(例如,区间rightAnswersInARow = 0将被因子 3 夸大),然后从那里随机选择。但是,即使我ArrayList每次都经过,获取rightAnswersInARow并确定间隔......由于元素未排序,我将如何将计算出的数字映射到正确的索引?那么aTreeSet会更合适吗?

  2. 要搜索两种语言的条目,甚至可能添加带有建议单词的下拉列表(如在 Google 的搜索中),我需要快速找到字符串(HashMap?)。或者可能通过 2+(每种语言一个)TreeSet到达以这些字母开头的第一个元素,然后从那里选择接下来的几个元素?但这意味着搜索总是会建议相同的单词,而忽略搜索最多的单词。

你有什么建议?每个值对都有一个HashMap并手动实现关系数据库之类的东西?

先感谢您!:)

4

0 回答 0