Map&List排序
来源:互联网 发布:复活岛巨人像 知乎 编辑:程序博客网 时间:2024/06/06 08:32
1、需求说明
有时候,后台返回的数据是无序的,但是显示的时候需要按照一定的顺序显示。
2、无序list
2.1、数据格式
{ "obj": { "itemId": 1, "jobId": 3, "list": [ { "answerTag": "D", "answerRate": 0.29 }, { "answerTag": "A", "answerRate": 0.29 }, { "answerTag": "B", "answerRate": 0.14 }, { "answerTag": "C", "answerRate": 0.29 } ], "rightRate": 0, "typeId": 3, "wrongRate": 0 }, "code": 1, "msg": "查询用户练习单选题答案比例成功"}
2.2、数据对应的Bean
2.3、数据排序代码
List<PractiseAnswerRateBean.ListBean> list = mData.getList(); Collections.sort(list, new Comparator<PractiseAnswerRateBean.ListBean>() { @Override public int compare(PractiseAnswerRateBean.ListBean o1, PractiseAnswerRateBean.ListBean o2) { return o1.getAnswerTag().compareTo(o2.getAnswerTag()); } });
3、无序map
3.1、数据格式
题目的选项和选项标识,现在需求是所有选项都按照“A、B、C、D”显示。(选项和选项标识必须一一对应,因为选项标识有可能是“1、2、3、4”来表示)
3.2、数据对应的Bean
AnswerList 属性存储的是item_content,题目的所有选项;
AnswerTagList属性存储的是item_number,题目的所有选项对应的选项标识。
3.3、数据排序代码
QuestionBean mData;...String answerTags = mData.getAnswerTagList();String answerContents = mData.getAnswerList();if (TextUtils.isEmpty(answerTags) || TextUtils.isEmpty(answerContents)) return; String[] mAnswerTags = answerTags.split(","); String[] mAnswerContents = answerContents.split(","); Map<String, String> map = new HashMap<>(); for (int i = 0; i < mAnswerTags.length; i++) { map.put(mAnswerTags[i], mAnswerContents[i]); } list = new ArrayList<>(map.entrySet()); Collections.sort(list, new Comparator<Map.Entry<String, String>>() { //升序排序 public int compare(Map.Entry<String, String> o1,Map.Entry<String, String> o2) { return o1.getKey().compareTo(o2.getKey()); } });
3、总结
主要用到的是集合的sort方法,里面使用compare方法进行比较排序。
0 0
- Map List排序
- List<Map> 排序
- List<Map> 自定义排序
- List<Map> 排序
- collection,list,map 排序
- List<Map> 排序
- List <Map> 排序详解
- java list<map> 排序
- List<Map>排序
- List,map排序
- List、MAP排序
- List Map sort 排序
- Map&List排序
- Collections排序List<Map>
- List<Map<>>排序
- List<Map>排序
- freemarker的list,map,排序
- List<Map<String,Object>>排序
- Sqlite-JDBC查询datetime类型抛异常
- 前端面试题链接
- 算法笔记(XII) 遗传算法与TSP问题
- Jenkins进阶系列之——16一个完整的JENKINS下的ANT BUILD.XML文件
- PHP--内置函数查询函数参数
- Map&List排序
- 图像特征 概述
- Android Studio/Gradle 编译加速
- Java中字符串的拼接问题
- 简单的php socket 实例
- 使用webpack搭建react ES6开发环境
- Jenkins进阶系列之——17Jenkins升级、迁移和备份
- 数据库隔离级别
- Jsoup解析Html教程