java按照商品价格排序_按照指定的类型排序
比如有三本書,書名和價(jià)格分別如下:《獵物》18.4元、《大明王朝》59.0元、《快樂密碼》25.0元。前幾天的一篇文章中講到按照中文拼音進(jìn)行排序,這里如果想按照價(jià)格排序的話怎么辦?
其實(shí)這里就牽涉到在Java中怎樣對對象進(jìn)行排序處理,這里可以使用 java.util.Collections的sort(List list) 方法。這里需要說明的是中間的list中存放的類必須實(shí)現(xiàn) java.lang.Comparable 接口,這個(gè)接口只有一個(gè)方法:int compartTo(Object o),當(dāng)本對象比傳入的對象大時(shí),返回一個(gè)正整數(shù)。
下面是實(shí)現(xiàn)的代碼,大家可以自己理解一下:
import java.util.ArrayList;
import java.util.Collections;
public class ComparableBook implements Comparable {
private String name;
private double price;
public ComparableBook(String name, double price) {
this.name = name;
this.price = price;
}
public int compareTo(Object o) {
ComparableBook other = (ComparableBook)o;
return (int)price - (int)other.price;
}
public String toString() {
return "(name: " + name + ", price: " + price + ")";
}
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(new ComparableBook("獵物", 18.4));
list.add(new ComparableBook("大明王朝", 59.0));
list.add(new ComparableBook("快樂密碼", 25.4));
Collections.sort(list);
System.out.println(list);
}
}
輸出結(jié)果:
[(name: 獵物, price: 18.4), (name: 快樂密碼, price: 25.4), (name: 大明王朝, price: 59.0)]
總結(jié)
以上是生活随笔為你收集整理的java按照商品价格排序_按照指定的类型排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL进阶(DDL与DML)
- 下一篇: data spring 指定时区_Spr