使用Collections對list的內容進行排序
import java.awt.print.Book;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
public class Col {
public static void main(String[] args) {
List list = new ArrayList();
B b1 = new B(1,"zengxiaohui",11.0,new Date());
B b2 = new B(2,"zengxiaohu2",12.0,new Date());
B b3 = new B(3,"zengxiaohu3",13.0,new Date());
list.add(b3);
list.add(b1);
list.add(b2);
System.out.println("陣列序列中的元素:");
myprint(list);
Collections.sort(list); // 根據價格排序
System.out.println("按B中的list方式排序:");
myprint(list);
Collections.sort(list, new PriceComparator()); // 根據價格排序
System.out.println("按書的價格排序:");
myprint(list);
Collections.sort(list, new CalendarComparator()); // 根據時間排序
System.out.println("按書的出版時間排序:");
myprint(list);
Collections.sort(list,new Comparator(){
public int compare(B p1, B p2) {
return new Double(p1.getPrice()).compareTo(new Double(p2.getPrice()));
}
});
System.out.println("程式碼中的沒有累的排序:");
myprint(list);
}
// 自定義比較器:按書的價格排序
static class PriceComparator implements Comparator {
public int compare(Object object1, Object object2) {// 實現介面中的方法
B p1 = (B) object1; // 強制轉換
B p2 = (B) object2;
return new Double(p1.getPrice()).compareTo(new Double(p2.getPrice()));
}
}
// 自定義比較器:按書出版時間來排序
static class CalendarComparator implements Comparator {
public int compare(Object object1, Object object2) {// 實現介面中的方法
B p1 = (B) object1; // 強制轉換
B p2 = (B) object2;
return p2.getCalendar().compareTo(p1.getCalendar());
}
}
// 自定義方法:分行列印輸出list中的元素
public static void myprint(List list) {
Iterator it = list.iterator(); // 得到迭代器,用於遍歷list中的所有元素
while (it.hasNext()) {// 如果迭代器中有元素,則返回true
System.out.println("t" + it.next().toString());// 顯示該元素
}
}
}
class B implements Comparable{
private int id;
private String name;
private Double price;
private Date calendar;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public Date getCalendar() {
return calendar;
}
public void setCalendar(Date calendar) {
this.calendar = calendar;
}
public B(int id, String name, Double price, Date calendar) {
super();
this.id = id;
this.name = name;
this.price = price;
this.calendar = calendar;
}
@Override
public String toString() {
return "B [id=" + id + ", name=" + name + ", price=" + price + ", calendar=" + calendar + "]";
}
@Override
public int compareTo(B o) {
return new Double(this.getPrice()).compareTo(new Double(o.getPrice()));
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4606/viewspace-2799587/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Collections工具類,可以使用collections工具類對程式碼中的list進行分組
- Java使用Collections對中文字元進行首字母排序Java字元排序
- python用List的內建函式list.sort進行排序Python函式排序
- C# 中使用Linq和Lambda表示式對List進行排序C#排序
- List排序Collections.sort 重寫compare排序
- PbootCMS對內容列表進行篩選boot
- 對字典進行排序排序
- python 對字典的值進行排序Python排序
- Python對字典進行排序Python排序
- python爬蟲之快速對js內容進行破解Python爬蟲JS
- 使用LVM對系統盤進行擴容LVM
- Java -- 對List集合進行分頁Java
- Linux命令列:對內容進行大小寫字元轉換 Linux命令列字元
- 【Azure 儲存服務】使用 AppendBlobClient 物件實現對Blob進行追加內容操作APPclient物件
- Collections sort()排序方法排序
- 橫掃Java Collections系列 —— ListJava
- JavaScript 使用sort()方法從數值上對陣列進行排序JavaScript陣列排序
- 一個命令對文字進行高效排序排序
- ORDER對查詢結果進行排序排序
- 如何使用遊戲引擎進行實時渲染和內容建立遊戲引擎
- 正規表示式小指令碼(對輸入內容進行處理)指令碼
- Collections.sort()方法,字元排序字元排序
- 如何在Python中對dicts列表進行排序Python排序
- 【微信小程式開發(6)--- 長按文字進行賦值 selectable, 對文字內容進行解碼】微信小程式賦值
- 使用 chunkById 方法的時候請不要進行排序排序
- 文章錯別字檢測,提升你的內容質量,幫你進行內容分發
- Angular開發實踐(八): 使用ng-content進行元件內容投射Angular元件
- 如何在dhtmlxGantt網格中對任務進行排序和重新排序HTML排序
- 用xgboost模型對特徵重要性進行排序模型特徵排序
- 147. 對連結串列進行插入排序排序
- Django(76)isort工具對import匯入進行排序DjangoImport排序
- 對N個數進行從大到小排序排序
- 如何爬取 python 進行多執行緒跑資料的內容Python執行緒
- python-進階教程-使用物件屬性進行排序Python物件排序
- 使用 ngrok 進行內網穿透內網穿透
- 透過Requests模組獲取網頁內容並使用BeautifulSoup進行解析網頁
- Python基礎系列講解——內建庫之collections的使用Python
- jQuery table內容點選標題排序jQuery排序