Java地图协助



首先,我最近才开始使用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>();

最新更新