根据其ID存储和获取数据

时间:2014-10-31 20:38:50

标签: java arraylist store

我正在尝试存储数据并根据其ID返回。数据类型为。

int Q_ID -------> Id of the Question
int Type_Question ----> Which type is the Question
ArrayList<String> Options ----> The options are multiple and are determined at run         based on users selection of the options

现在我想存储数据。例如以这种方式。

Q_ID=0
Type_question=1
Options.add("handpump");
Options.add("Well");

Q_ID=1
Type_question=1
Options.add("random");
Options.add("answer");

有没有办法可以存储它们,以便在我输入Q_ID = 0和Type_Question = 1时;它只返回手动泵和井,如果输入Q_ID = 1和Type_question = 1,它只返回随机和答案。 它可能太明显但我想不出任何东西。任何想法?

1 个答案:

答案 0 :(得分:1)

你可以在不定义自己的类型的情况下执行此操作的简单,有点hacky方法是将它们存储在HashMap中,其中包含将Q_ID和Type_Question组合为单个连接字符串的字符串,如下所示:

HashMap<String, ArrayList<String>> yourHashMap = new HashMap<String, ArrayList<String>>();

ArrayList<String> handPumpWell = new ArrayList<String>();
handPumpWell.add("handpump");
handPumpWell.add("well");
yourHashMap.put("0,1", handPumpWell);

ArrayList<String> randomAnswer = new ArrayList<String>();
randomAnswer.add("random");
randomAnswer.add("answer");
yourHashMap.put("1,1", randomAnswer);

然后您可以引用任何给定ID /类型组合的选项列表,如下所示:

yourHashMap[Q_ID + "," + Type_Question]

Q_ID = 0Type_Question = 1会返回包含ArrayList"handpump"的{​​{1}}。

但是,您必须确保Q_ID始终位于Type_Question之前,因为重新排列它们不会返回正确的结果。