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集合(5)之 List 總結Java
- Java集合類學習總結Java
- java集合框架基礎總結Java框架
- 總結的Java知識點集合Java
- Java基礎集合簡單總結Java
- java集合面試重點總結Java面試
- 0、Java集合體繫結構—最全總結Java
- 集合總結
- java基礎使用的集合大總結Java
- Java集合中的排序方法Java排序
- Java 集合排序策略介面 ComparatorJava排序
- JAVA物件導向詳細總結Java物件
- java之集合框架總結-畢業生必看Java框架
- Java集合體系總結 Set、List、Map、QueueJava
- Java 物件排序詳解Java物件排序
- JAVA裡List集合中的物件根據物件的某個屬性值降序或者升序排序Java物件排序
- Java類和物件知識點總結Java物件
- Java集合類操作最佳化經驗總結Java
- Java集合/陣列排序知識與IO流結合例項Java陣列排序
- Python集合操作總結Python
- 集合資料結構總結資料結構
- Java集合類常見面試知識點總結Java面試
- Scala集合學習總結
- 第三週:java物件導向部分總結(2)Java物件
- Java 集合中的排序演算法淺析Java排序演算法
- Java 實現彙總排序Java排序
- JS 總結之物件JS物件
- 關聯物件總結物件
- Java 集合框架體系總覽Java框架
- List集合物件去重及按屬性去重的8種方法-java基礎總結系列第六篇物件Java
- Java十大經典排序演算法最強總結Java排序演算法
- 排序演算法全總結排序演算法
- Java——物件導向程式設計的一些總結Java物件程式設計
- Java 集合(1)之 總體架構Java架構
- Object物件常用方法總結Object物件