首先,我最近才开始使用java,所以对他人来说似乎很明显。
我正在尝试实施测验应用程序,其中之一是我从外部文件中阅读问题并将问题存储在地图结构中。
我已经研究了这一点,看来地图存储了一个键和值...
我是正确的,以为我可以将idetifier存储为密钥,然后将其余信息作为值存储,即使其余部分包含两种不同的数据类型的4个元素(2个INT,字符串,一个字符串和一系列字符串(?
如果我的假设正确,我将如何实现,因为我发现的任何文档都类似于以下内容:
HashMap<Integer, String> questionMap = new HashMap<Integer, String>();
朝着正确方向的任何帮助或轻推。
当前的问题类包括(我已经删除了在此处节省空间的Geters和Setter:
public class Question {
public int identifier;
public String type;
public String question;
public String[] options;
public int answer;
}
首先创建一个类来保存您的问题信息,然后将其用于地图中的值,例如:
HashMap<Integer, Question> questionMap = new HashMap<Integer, Question>();
其余部分由两种不同的数据类型(2种int,一个字符串和一个字符串(组成的4个元素?
这听起来像是您要为
编写自己的班级的对象public class Data {
int id: // optional
int a, b;
String c;
String[] d;
}
然后您的地图将是<Integer, Data>
类型,如果您想要订购的问题,我建议使用TreeMap
我是正确的,以为我可以将iDetifier存储为密钥,并且 然后,即使其余的 它由两种不同数据类型的4个元素组成(2个INT,A 字符串和一系列字符串(?
no,键和值必须是单个数据类型的a。在这种情况下,您通常会做的是创建封装数据的数据结构:
public class Question {
private int id;
private int score;
private String question;
// Constructor, Getters & Setters
//....
}
然后您可以将该数据类型用作值
Map<Integer, Question> questionMap = new HashMap<Integer, Quesiton>();