佚名通过本文主要向大家介绍了javalist排序,javalist集合,javalist用法,javalist转数组,javalist遍历等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:java List 中对象中的数据排序
描述:
解决方案1:
描述:
一个对象中有七个属性分别是七种金额。然后又二十个对象放到一个List里面。然后循环List生成一个table 展示这些数据就类似于一个成绩表吧。竖列是人名,横列是科目,中间是各科分数。我想在各科分数中的前三名后加上【1】、【2】、【3】.用for循环也能实现。但总感觉嵌套循环不好,想找一种更优的算法,希望大家指点一下。谢谢
解决方案1:
你要对每种属性排出一个1,2,3,所以排序是必须的,这个无法避免。
所说的嵌套循环感觉不好,这个是代码的实现方式问题以及你个人的感官感觉,不做讨论;
想找个一种更优的算法,主要就需要从排序算法上面做文章,对于你的需求,只需要标注前1,2,3名,则可以考虑利用一个容量为3的大根堆,进行排序,由于堆容量为常数,算法的复杂度为O(N),对每种属性,维护一个这样的大根堆。
至于最后的输出,跟算法没什么关系,API的调用而已。