我坚持比较值。数组列表由两个对象名称和百分比组成。

public class DataModel {

    private String name;
    private String dataUsagePercent;
     int color;
}


和数组列表是

 List<DataModel> usageList;


 Collections.sort(usageList, new Comparator<DataModel>(){
        public int compare(DataModel d1, DataModel d2){

            return (d1.getDataUsagePercent()) - Integer.parseInt(d2.getDataUsagePercent()));
        }

    });


范例:

数组列表中的dataUsagePercent值为2, 10, 40, 30, 50, 60, 90, 65,55,100.

我必须比较dataUsagePercent的值。最低的应该排在arraylist的第0位,前四类
构成dataUsagePercent的最高值。此外,其余六个值(占使用率的最低百分比)
合并为一个百分比。

比较列表之后,上述值的输出应包括:

2,10+30+40+50+55+60,65,90,100 means 2, 245,65,90,100


最终列表大小应始终仅为5,并且名称值没有影响

编辑:错过了60。添加到组合值

最佳答案

我认为您的列表数据类型需要更改为List<DataUsageModel> usageList;
比较dataUsagePercent值,可以使用Collections.sort(usageList);
或者您可以使用priority queue

10-07 16:46