我正在尝试存储数据并根据其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,它只返回随机和答案。 它可能太明显但我想不出任何东西。任何想法?
答案 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 = 0
和Type_Question = 1
会返回包含ArrayList
和"handpump"
的{{1}}。
但是,您必须确保Q_ID始终位于Type_Question之前,因为重新排列它们不会返回正确的结果。