假设我有一个类:
class Area{
String id;
Float value;
int startTime;
int endTime;
Map<Integer, List<scheduleRequest>> timeSlotMap;
}
我想根据 float 的值对区域进行排序。
我试过这个:
class Value implements Comparator<Area>{
@Override
public int compare(Area a1, Area a2) {
return (int)(a1.value-a2.value); I also tried this
}
}
主要是
Area area1=new Area();
area1.value=(float) 1.0;
Area area2=new Area();
area2.value=(float) 0.8;
Area area3=new Area();
area3.value=(float) 0.6;
List<Area> list=new ArrayList<>();
list.addAll(Arrays.asList(area2,area1,area3));
Collections.sort(list, new Value());
但是,列表未排序。
最佳答案
尝试使用:
Math.round(a1.value-a2.value);
代替:
(int)(a1.value-a2.value);
关于java - 使用具有浮点值的对象对集合进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36367939/