我想使用android studio创建一个带有arround 5000问题的测验游戏。由于我不熟悉Sqlite数据库 我将使用单独的java类作为问题Bank。我的问题如下:我如何优化问题选择 为了在每次新游戏开始时都不显示已经提出的问题。此外,我不希望问题顺序是标准的 (我想要一个像问题列表一样的洗牌,但只是第一次启动应用程序)。有没有办法保存 已被问过的问题?
答案 0 :(得分:0)
为什么不将问题存储到列表中,如下所示:
List<String> Questions;
您可以使用以下方法随机播放问题。
Collections.shuffle(Questions);
假设您循环遍历从索引0开始的问题,您可以使用索引0从列表中删除它们,因为每次删除列表的第一个元素时,List最终将“向左移动”1。
Questions.remove(0);
答案 1 :(得分:0)
List<Question> questionList = new ArrayList(); List<Question> result = questionList.stream() .filter(question -> true==(question.asked)) .collect(Collectors.toList()); result.forEach(System.out::println);
Collections.shuffle(questionList);