我將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