嗨 我有一個arrayList有一些objects.also我的對象有兩個字段(1)名稱(2)成本 我想排序此arrayList與其成本field.is有任何特殊的方法,爲我做或我應該寫我自己?還是否有用於doeing一些這方面的方法,什麼是它的時間複雜度(O(N),(O(nlogn))?基於字段對ArrayList進行排序?
感謝
嗨 我有一個arrayList有一些objects.also我的對象有兩個字段(1)名稱(2)成本 我想排序此arrayList與其成本field.is有任何特殊的方法,爲我做或我應該寫我自己?還是否有用於doeing一些這方面的方法,什麼是它的時間複雜度(O(N),(O(nlogn))?基於字段對ArrayList進行排序?
感謝
如果你喜歡鍵入saftey(不使用BeanComparator),那麼你需要編寫自己的比較器。
例如
Collections.sort(list, new Comparator<SomeType>() {
public int compareTo(SomeType lhs, SomeType rhs) {
return lhs.getCost().compareTo(rhs.getCost());
}
});
注意,這不是無效的(可以成本爲零?)。
另一種選擇是使用BeanComparator,但要確保添加了一個測試,以確保排序始終有效,以防方法名稱更改。
退房的Bean Comparator一對夫婦
如果爲需要比較的對象實現Comparator接口,則可以使用Collections.sort()
方法進行排序。