以成语List为例
private void changeOrderOnce(){
// 拿到数据
List<Idiom> idiomList = idiomModel.getIdiomList()
// 第一次进入时打乱成语顺序
if (PreferenceUtil.getString("order", "").equals("")) {
// 获取自然顺序的数字数组
List<String> a = new ArrayList<>();
for (int i = 0; i < idiomList.size(); i++) {
a.add("" + i);
}
// 打乱
Collections.shuffle(a);
//打乱后以“-”分隔开每个数据并保存到数据库
String b = "";
for (int i = 0; i < a.size(); i++) {
b = b + a.get(i) + "-";
}
PreferenceUtil.put("order", b);
}
// 拿到打乱后的数字数组
String[] c = PreferenceUtil.getString("order", "").split("-");
// 新建一个List,以打乱后的数字数组为顺序将原数据添加进去
List<Idiom> newIdiomList = new ArrayList<>();
for (int i = 0; i < idiomList.size(); i++) {
newIdiomList.add(idiomList.get(Integer.parseInt(c[i])));
}
idiomModel.setIdiomList(newIdiomList);
}