我坚持比较值。数组列表由两个对象名称和百分比组成。
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