首页 > java List 中对象中的数据排序

java List 中对象中的数据排序

一个对象中有七个属性分别是七种金额。然后又二十个对象放到一个List里面。然后循环List生成一个table 展示这些数据就类似于一个成绩表吧。竖列是人名,横列是科目,中间是各科分数。我想在各科分数中的前三名后加上【1】、【2】、【3】.用for循环也能实现。但总感觉嵌套循环不好,想找一种更优的算法,希望大家指点一下。谢谢


你要对每种属性排出一个1,2,3,所以排序是必须的,这个无法避免。

所说的嵌套循环感觉不好,这个是代码的实现方式问题以及你个人的感官感觉,不做讨论;

想找个一种更优的算法,主要就需要从排序算法上面做文章,对于你的需求,只需要标注前1,2,3名,则可以考虑利用一个容量为3的大根堆,进行排序,由于堆容量为常数,算法的复杂度为O(N),对每种属性,维护一个这样的大根堆。

至于最后的输出,跟算法没什么关系,API的调用而已。

【热门文章】
【热门文章】