JSONObject转List按照特定属性排序并生成对应排名
来源:互联网 发布:倚天蝴蝶形态指标源码 编辑:程序博客网 时间:2024/06/07 01:09
1、效果图
2、核心代码
List<StuScore> stu = JSONObject.parseArray(jStuScores.toJSONString(), StuScore.class);//JSONObject.parseArray(jStuScores.toJSONString(), StuScore.class);Collections.sort(stu, new Comparator<StuScore>(){ /* * int compare(Student o1, Student o2) 返回一个基本类型的整型, * 返回负数表示:o1 小于o2, * 返回0 表示:o1和o2相等, * 返回正数表示:o1大于o2。 */ public int compare(StuScore o1, StuScore o2) { double i1 =0; double i2 =0; if((o1.getStuXkScoreAndRank()).getSh() == null && (o2.getStuXkScoreAndRank()).getSh() == null){ i1 = 0; i2 = 0;}else if((o1.getStuXkScoreAndRank()).getSh() != null && (o2.getStuXkScoreAndRank()).getSh() == null){String str1= ((o1.getStuXkScoreAndRank()).getSh()).getStuScore();i1 =Double.valueOf(str1);i2 = 0;}else if ((o1.getStuXkScoreAndRank()).getSh() == null && (o2.getStuXkScoreAndRank()).getSh() != null){String str2= ((o2.getStuXkScoreAndRank()).getSh()).getStuScore();i2 =Double.valueOf(str2);i1 = 0;}else{String str1= ((o1.getStuXkScoreAndRank()).getSh()).getStuScore(); String str2= ((o2.getStuXkScoreAndRank()).getSh()).getStuScore(); i1 =Double.valueOf(str1); i2 =Double.valueOf(str2);} //按照学生的生化成绩进行倒序排列 if(i1 < i2){ return 1; } if(i1 == i2){ return 0; } return -1; } });int j = 1;for(int i = 0; i<stu.size()-1; i++ ){StuScore stu1 = stu.get(i);StuScore stu2 = stu.get(i+1);StuXkScoreAndRank stuScore1 = stu1.getStuXkScoreAndRank();StuXkScoreAndRank stuScore2 = stu2.getStuXkScoreAndRank();Xueke sh1 =stuScore1.getSh();Xueke sh2 =stuScore2.getSh();if(sh1 == null || sh2 ==null)continue;if(i == 0){sh1.setStuGradeRank(""+j);}if((sh2.getStuScore()).equals(sh1.getStuScore())){j++;sh2.setStuGradeRank(sh1.getStuGradeRank());}else{j++;sh2.setStuGradeRank(""+j);}}
package cn.doofen.entity;import java.io.Serializable;public class StuScore implements Serializable{/** * */private static final long serialVersionUID = 8312934080525807061L;private StuXkScoreAndRank stuXkScoreAndRank;private String stuMixRank;private String stuMixRank1;private String classId;private String stuMixScore;private String stuMixScore1;private String stuPriMixRank;private String stuId;private String className;private String examSort;private String stuName;private String stuPriMixScore;private String categoryName;private String subjects;private String categoryId;public StuXkScoreAndRank getStuXkScoreAndRank() {return stuXkScoreAndRank;}public void setStuXkScoreAndRank(StuXkScoreAndRank stuXkScoreAndRank) {this.stuXkScoreAndRank = stuXkScoreAndRank;}public String getStuMixRank() {return stuMixRank;}public void setStuMixRank(String stuMixRank) {this.stuMixRank = stuMixRank;}public String getStuMixRank1() {return stuMixRank1;}public void setStuMixRank1(String stuMixRank1) {this.stuMixRank1 = stuMixRank1;}public String getClassId() {return classId;}public void setClassId(String classId) {this.classId = classId;}public String getStuMixScore() {return stuMixScore;}public void setStuMixScore(String stuMixScore) {this.stuMixScore = stuMixScore;}public String getStuMixScore1() {return stuMixScore1;}public void setStuMixScore1(String stuMixScore1) {this.stuMixScore1 = stuMixScore1;}public String getStuPriMixRank() {return stuPriMixRank;}public void setStuPriMixRank(String stuPriMixRank) {this.stuPriMixRank = stuPriMixRank;}public String getStuId() {return stuId;}public void setStuId(String stuId) {this.stuId = stuId;}public String getClassName() {return className;}public void setClassName(String className) {this.className = className;}public String getExamSort() {return examSort;}public void setExamSort(String examSort) {this.examSort = examSort;}public String getStuName() {return stuName;}public void setStuName(String stuName) {this.stuName = stuName;}public String getStuPriMixScore() {return stuPriMixScore;}public void setStuPriMixScore(String stuPriMixScore) {this.stuPriMixScore = stuPriMixScore;}public String getCategoryName() {return categoryName;}public void setCategoryName(String categoryName) {this.categoryName = categoryName;}public String getSubjects() {return subjects;}public void setSubjects(String subjects) {this.subjects = subjects;}public String getCategoryId() {return categoryId;}public void setCategoryId(String categoryId) {this.categoryId = categoryId;}public static long getSerialversionuid() {return serialVersionUID;}public StuScore() {super();// TODO Auto-generated constructor stub}public StuScore(StuXkScoreAndRank stuXkScoreAndRank, String stuMixRank,String stuMixRank1, String classId, String stuMixScore,String stuMixScore1, String stuPriMixRank, String stuId,String className, String examSort, String stuName,String stuPriMixScore, String categoryName, String subjects,String categoryId) {super();this.stuXkScoreAndRank = stuXkScoreAndRank;this.stuMixRank = stuMixRank;this.stuMixRank1 = stuMixRank1;this.classId = classId;this.stuMixScore = stuMixScore;this.stuMixScore1 = stuMixScore1;this.stuPriMixRank = stuPriMixRank;this.stuId = stuId;this.className = className;this.examSort = examSort;this.stuName = stuName;this.stuPriMixScore = stuPriMixScore;this.categoryName = categoryName;this.subjects = subjects;this.categoryId = categoryId;}@Overridepublic String toString() {return "StuScore [stuXkScoreAndRank=" + stuXkScoreAndRank+ ", stuMixRank=" + stuMixRank + ", stuMixRank1=" + stuMixRank1+ ", classId=" + classId + ", stuMixScore=" + stuMixScore+ ", stuMixScore1=" + stuMixScore1 + ", stuPriMixRank="+ stuPriMixRank + ", stuId=" + stuId + ", className="+ className + ", examSort=" + examSort + ", stuName=" + stuName+ ", stuPriMixScore=" + stuPriMixScore + ", categoryName="+ categoryName + ", subjects=" + subjects + ", categoryId="+ categoryId + "]";}}
package cn.doofen.entity;import com.alibaba.fastjson.annotation.JSONField;public class StuXkScoreAndRank {@JSONField(name="1") private Xueke yw; @JSONField(name="2") private Xueke sx; @JSONField(name="3") private Xueke yy; @JSONField(name="4") private Xueke wl; @JSONField(name="5") private Xueke sh; @JSONField(name="6") private Xueke ls; @JSONField(name="7") private Xueke dl; @JSONField(name="8") private Xueke zz; @JSONField(name="9") private Xueke ty;public Xueke getYw() {return yw;}public void setYw(Xueke yw) {this.yw = yw;}public Xueke getSx() {return sx;}public void setSx(Xueke sx) {this.sx = sx;}public Xueke getYy() {return yy;}public void setYy(Xueke yy) {this.yy = yy;}public Xueke getWl() {return wl;}public void setWl(Xueke wl) {this.wl = wl;}public Xueke getSh() {return sh;}public void setSh(Xueke sh) {this.sh = sh;}public Xueke getLs() {return ls;}public void setLs(Xueke ls) {this.ls = ls;}public Xueke getDl() {return dl;}public void setDl(Xueke dl) {this.dl = dl;}public Xueke getZz() {return zz;}public void setZz(Xueke zz) {this.zz = zz;}public Xueke getTy() {return ty;}public void setTy(Xueke ty) {this.ty = ty;}public StuXkScoreAndRank() {super();// TODO Auto-generated constructor stub}public StuXkScoreAndRank(Xueke yw, Xueke sx, Xueke yy, Xueke wl, Xueke sh,Xueke ls, Xueke dl, Xueke zz, Xueke ty) {super();this.yw = yw;this.sx = sx;this.yy = yy;this.wl = wl;this.sh = sh;this.ls = ls;this.dl = dl;this.zz = zz;this.ty = ty;}@Overridepublic String toString() {return "StuXkScoreAndRank [yw=" + yw + ", sx=" + sx + ", yy=" + yy+ ", wl=" + wl + ", sh=" + sh + ", ls=" + ls + ", dl=" + dl+ ", zz=" + zz + ", ty=" + ty + "]";} }
package cn.doofen.entity;public class Xueke {private String stuScore;private String stuScore1;private String stuGradeRank;private String stuGradeRank1;private String master;public String getStuScore() {return stuScore;}public void setStuScore(String stuScore) {this.stuScore = stuScore;}public String getStuScore1() {return stuScore1;}public void setStuScore1(String stuScore1) {this.stuScore1 = stuScore1;}public String getStuGradeRank() {return stuGradeRank;}public void setStuGradeRank(String stuGradeRank) {this.stuGradeRank = stuGradeRank;}public String getStuGradeRank1() {return stuGradeRank1;}public void setStuGradeRank1(String stuGradeRank1) {this.stuGradeRank1 = stuGradeRank1;}public String getMaster() {return master;}public void setMaster(String master) {this.master = master;}public Xueke() {super();// TODO Auto-generated constructor stub}public Xueke(String stuScore, String stuScore1, String stuGradeRank,String stuGradeRank1, String master) {super();this.stuScore = stuScore;this.stuScore1 = stuScore1;this.stuGradeRank = stuGradeRank;this.stuGradeRank1 = stuGradeRank1;this.master = master;}@Overridepublic String toString() {return "Xueke [stuScore=" + stuScore + ", stuScore1=" + stuScore1+ ", stuGradeRank=" + stuGradeRank + ", stuGradeRank1="+ stuGradeRank1 + ", master=" + master + "]";}}
3、数据结构
{ "stuCode": "09040903", "stuXkScoreAndRank": { "3": { "stuScore": 93.0, "stuGradeRank": 2 }, "2": { "stuScore": 93.0, "stuGradeRank": 9 }, "1": { "stuScore": 88.0, "stuGradeRank": 5 }, "7": { "stuScore": 80.0, "stuGradeRank": 36 }, "6": { "stuScore": 94.0, "stuGradeRank": 1 }, "5": { "stuScore": 84.0, "stuGradeRank": 5 }, "4": { "stuScore": 81.0, "stuGradeRank": 63 }, "9": { "stuScore": 41.0, "stuGradeRank": 4 } }, "classId": 11210015011, "subjects": "5|9|6|7", "categoryId": 2, "stuMixScore": 613.0, "categoryName": "化学-生物-历史-地理", "stuMixRank": 1, "classCode": 11, "stuPriMixRank": 3, "stuId": 1121001500000118, "className": "11班", "examSort": 3, "stuName": "陈师尧", "stuPriMixScore": 274.0 }, { "stuCode": "09044393", "stuXkScoreAndRank": { "3": { "stuScore": 87.5, "stuGradeRank": 21 }, "2": { "stuScore": 79.0, "stuGradeRank": 81 }, "1": { "stuScore": 88.0, "stuGradeRank": 5 }, "7": { "stuScore": 73.0, "stuGradeRank": 56 }, "6": { "stuScore": 93.0, "stuGradeRank": 2 }, "5": { "stuScore": 71.0, "stuGradeRank": 62 }, "4": { "stuScore": 74.0, "stuGradeRank": 107 }, "9": { "stuScore": 36.0, "stuGradeRank": 36 } }, "classId": 11210015011, "subjects": "5|9|6|7", "categoryId": 2, "stuMixScore": 565.5, "categoryName": "化学-生物-历史-地理", "stuMixRank": 2, "classCode": 11, "stuPriMixRank": 34, "stuId": 1121001500000137, "className": "11班", "examSort": 3, "stuName": "陈雨涵", "stuPriMixScore": 254.5 }, { "stuCode": "09044804", "stuXkScoreAndRank": { "3": { "stuScore": 85.0, "stuGradeRank": 33 }, "2": { "stuScore": 88.0, "stuGradeRank": 32 }, "1": { "stuScore": 77.0, "stuGradeRank": 90 }, "7": { "stuScore": 86.0, "stuGradeRank": 16 }, "6": { "stuScore": 85.0, "stuGradeRank": 8 }, "5": { "stuScore": 38.0, "stuGradeRank": 36 }, "4": { "stuScore": 87.0, "stuGradeRank": 26 } }, "classId": 11210015009, "subjects": "4|6|7", "categoryId": 8, "stuMixScore": 546.0, "categoryName": "物理-历史-地理", "stuMixRank": 3, "classCode": 9, "stuPriMixRank": 40, "stuId": 1121001500000083, "className": "9班", "examSort": 3, "stuName": "胡嘉", "stuPriMixScore": 250.0 },
阅读全文
0 0
- JSONObject转List按照特定属性排序并生成对应排名
- List<JSONObject> 按照JSONObject多个属性排序
- list排序,按照某个属性排序
- list集合中按照指定属性排序
- 按照list中对象的属性排序
- C# List按照对象属性进行排序
- list中对象按照属性排序
- C#List<>能按照List中的对象某个属性排序
- mysql 按照特定顺序排序
- 对list集合中的对象按照字段属性排序
- C#中List实现按照对象属性排序
- 关于泛型list中按照对象任意属性排序
- List集合对象中按照不同属性大小排序
- Java中的List按照元素的属性进行排序
- List集合里面按照人的年龄属性排序
- java编程List按照多个属性进行排序
- List中对象按照属性时间升序排序
- Java对List中的中文属性按照拼音排序
- 韩国金融监管机构“不打算”监管比特币交易
- 全球六大比特币友好社区
- 加州大学伯克利分校与KyberNetwork联合进行去中心化交易所研究
- 新西兰航空和Winding Tree联手探索区块链技术
- 奥地利来富埃森银行加入R3区块链联盟
- JSONObject转List按照特定属性排序并生成对应排名
- 美国国防法案可能推动区块链采用
- 7-6 冒泡法排序(20 分) 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素
- 如何制作简易信息图
- HQL的group by和having的使用
- 唯链(VeChain)打造的区块链酒类追溯服务平台又添新成员 又一批可追溯红酒入驻D.I.G.
- Git常用指令集合 (远程仓库)
- 4用于cifar10的卷积神经网络-4.14优化器AdagradOptimizer的汇总结果分析
- 4用于cifar10的卷积神经网络-4.15优化器RMSProbOptimizer的汇总结果分析