Java 第一次进入程序时打乱数据顺序并保存

以成语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);
    }
posted @   指切  阅读(72)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示