存储临时QuestionID-AnswerID数据的最佳方法

时间:2014-04-06 14:19:32

标签: java android

我正在开发一个测验应用,我希望找到一种有效的方法来保存用户的答案。

每个测验都有 30 个问题,我需要保存的是: questionNumberquestionIdanswerId,答案是否正确。

我认为阵列将是一个很好的解决方案。例如:

enter image description here

每行代表一个问题(questionNumber)。第一列代表questionId,第二列代表answerId。第三列将包含0(不正确)或1(正确)。

需要第三列(正确)来总结正确答案的数量(它可以更快地对第三列求和,而不是随时检查每个答案)。

这不是一个SQL表 - 这个信息是临时的,一旦用户完成测验就会被销毁。

我想知道您是否有其他解决方案,或许更好。

谢谢!

1 个答案:

答案 0 :(得分:1)

为什么不上课?

class Answer
{
    private int questionID;
    private int answerID;
    private boolean correct;

    public Answer(int questionID, int answerID, boolean correct)
    {
        this.questionID = questionID;
        this.answerID = answerID;
        this.correct = correct;
    }
}

和一个ArrayList

List<Answer> answers = new ArrayList<Answer>();

然后使用

Answer answer = new Answer(1, 2, true);
answers.add(answer);

使用数组,每次使用ArrayList添加问题时都需要修复数组大小,您可以根据需要添加任意数量的问题,而无需关心数组大小。

无论如何,如果你的问题总是30,你也可以毫无问题地创建一个数组。

关于表演,我没有看到有关速度/记忆的问题。