【发布时间】:2016-07-21 22:41:37
【问题描述】:
假设我有一堂课:
class Area{
String id;
Float value;
int startTime;
int endTime;
Map<Integer, List<scheduleRequest>> timeSlotMap;
}
我想根据浮点数的值对区域进行排序。
我试过了:
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());
但是,列表没有排序。
【问题讨论】:
-
你设置了 area1.value 三次。尝试设置 area2.value 和 area3.value。
-
我编辑了问题,请再看一遍。 @ShearPlane
-
作为一个快速说明,通常你会看到浮点值
1.0f,而不是显式转换(float)1.0。
标签: java list object collections comparator