java集合物件排序總結
java集合物件按照某個屬性進行排序有很多種方式,下面簡單記錄下
1物件實現Comparable介面中的compareTo 方法,然後通過Collections.sort進行排序
2通過Collections.sort配合匿名內部類Comparator來處理( Java1.7或更早版本的JVM不支援Lambda語法的情況下推薦使用這種) 或通過List介面的(JDK1.8預設實現方法)
Collections.sort(list, new Comparator<Order1>() {
@Override
public int compare(Order1 o1, Order1 o2) {
return o1.getNumber()-o2.getNumber();
}
});
list.sort(new Comparator<Order1>() {
@Override
public int compare(Order1 o1, Order1 o2) {
return o1.getNumber()-o2.getNumber();
}
});
JDK1.8介面預設實現方法
default void sort(Comparator<? super E> c) {
Object[] a = this.toArray();
Arrays.sort(a, (Comparator) c);
ListIterator<E> i = this.listIterator();
for (Object e : a) {
i.next();
i.set((E) e);
}
}
3通過方法引用的方式如下,當然也可以用lamadda(比如這種list.sort((o1, o2) -> o1.getNumber() - o2.getNumber());)但是建議用方法引用函式式介面Comparator提供了comparing,comparingInt,comparingLong
comparingDouble方法,方便對物件屬性做排序比較 如下所示
teachers.sort(Comparator.comparingInt(Order1::getNumber))
Collections.sort(teachers,Comparator.comparingInt(Order1::getNumber));
相關文章
- Java集合和陣列的排序方式總結Java陣列排序
- Java集合總結:Java
- 常用Java集合類總結Java
- Java集合學習總結Java
- Java Collection、Map集合總結Java
- Java集合 - 集合知識點總結概述Java
- Java集合(5)之 List 總結Java
- Java集合類學習總結Java
- java集合框架基礎總結Java框架
- java集合面試重點總結Java面試
- Java集合框架使用總結薦Java框架
- 在Java中對集合當中的物件進行排序Java物件排序
- Java基礎集合簡單總結Java
- 總結的Java知識點集合Java
- 0、Java集合體繫結構—最全總結Java
- 集合框架-集合總結框架
- 集合總結
- java基礎使用的集合大總結Java
- 集合框架-Collection集合總結框架
- 集合框架-ArrayList集合儲存自定義物件的排序案例框架物件排序
- Java集合中的排序方法Java排序
- java之集合框架總結-畢業生必看Java框架
- Java集合體系總結 Set、List、Map、QueueJava
- Java中集合與陣列互轉總結Java陣列
- Java集合類操作優化經驗總結Java優化
- JAVA物件導向詳細總結Java物件
- Java物件導向總結(多型)Java物件多型
- Java中request物件常用方法總結Java物件
- Java 四大域物件總結Java物件
- Java 集合排序策略介面 ComparatorJava排序
- Java 物件排序詳解Java物件排序
- JAVA裡List集合中的物件根據物件的某個屬性值降序或者升序排序Java物件排序
- Java集合類常見面試知識點總結Java面試
- Java集合類操作最佳化經驗總結Java
- Java集合/陣列排序知識與IO流結合例項Java陣列排序
- Java類和物件知識點總結Java物件
- 集合資料結構總結資料結構
- 對list集合中的物件進行排序(轉載)物件排序