我将Item对象存储在ArrayList中。 Item类具有一个名为field1
的浮动字段。我想以field1
的递减顺序从itemsList
中检索Item对象。按浮点字段对类对象的ArrayList排序
List<Item> itemsList = new ArrayList<Item>();
itemsList.add(new Item(...));
这是我的尝试:
public class Item implements Comparable {
//...
public float compareTo(Item it)
{
return(similarity - it.similarity);
}
}
List<Item> sortedItems = Collections.sort(itemsList);
的问题是,compareTo
应该返回int
,而我有float
。那么,我应该采用哪种方法对float
值进行排序?
您是否尝试将float转换为int?使用'Math.round()' –
请参阅此链接:https://www.tutorialspoint.com/java/util/arrays_sort_float.htm – Marievi
如果你这样做,然后漂浮到相同的数字将被视为等于 – Ishnark