1. 程式人生 > >集合工具類Collections.sort()排序方法

集合工具類Collections.sort()排序方法

用Collections工具類的sort()方法比較的元素

Collections提供了過載的sort方法:

    1.Collections.sort(list<T>)//用元素實現了Comparable介面的 compareTo()方法進行比較;此方法要求元素所在的類必須實現Comparable介面

    2.Collections.sort(list<T>, Comparator<? super T>c)//通過定義的 一個用來比較元素的比較器Comparator<? super T>c;此方法則不要求要求元素所在的類必須實現Comparable介面

 * 可以根據給定的比較器的比較規則來比較給定集合的元素,然後按照從小到大的順序排序集合;使用比較器排序集合有兩個好處:
 * 1:不依靠元素自身比較規則,可以更好的用於需要的比較方式排序
 * 2:也因為不需要元素的比較規則,所以該方法不要求集合元素必須實現Comparable介面減少了對元素的"侵入性"
 * 功能對程式碼的侵入性:
 * 當我們使用某個方法提供的功能時,若該功能要求我們的程式碼為其修改內容,修改的越多則侵入性越強。侵入性強的功能不利於程式擴充套件。

例:

public class SortListDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("蒼老師");
list.add("範範老師");
list.add("小澤老師");
System.out.println(list);

MyComparator com = new MyComparator();
Collections.sort(list, com);
System.out.println(list);
}
}
/*
 * 定義一個用來比較字串的比較器
 */
class MyComparator implements Comparator<String>{


@Override
public int compare(String o1, String o2) {
/*
* 字元多的大
*/
return o1.length()-o2.length();
}

}

相關推薦

集合工具Collections.sort()排序方法

用Collections工具類的sort()方法比較的元素 Collections提供了過載的sort方法:     1.Collections.sort(list<T>)//用元素實現

Java常用(五)之集合工具Collections

可變集合 並發 nts oid element 出現的次數 ole 最小 概述 前言    Java提供了一個操作Set、List和Map等集合的工具類:Collections,該工具類提供了大量方法對集合進行排序、查詢和修改等操作,     還提供了將集合對象置為不可

jdk7中Arrays.sort()和Collections.sort()排序方法使用注意

1. 為什麼寫這篇文章 這篇文章的根源是在產品中發現了一個詭異的bug:只能在產品環境下重現,在我的本地開發環境無法重現,而雙方的程式碼沒有任何區別。最後用remotedebug的方法找到異常所在: Exception in thread "main"Java.la

Java基礎 @org.junit.Test-單元測試方法 + 操縱Collection和Map的工具 : Collectionssort/binarySearch/max/min等靜態方法

單元測試程式碼:   ( 在IDEA中先輸入'@Test '然後根據提示進行自動修訂即可!!執行時直接執行即可!         若有多個單元測試塊的時候,直接把滑鼠放在哪裡就自動在哪裡執行那個單元塊) import java.util.*; /**操縱Collection和Map

(好使)用Java集合中的Collections.sort方法對list排序的兩種方法

      ret = String.valueOf(m2.invoke(((E)b), null).toString().length()).compareTo(String.valueOf(m1.invoke(((E)a), null).toString().length()));          if

Java集合Sort排序的使用方法

//對整數集合進行排序 public void sortIntArray() { int[] array = new int[] { 8, 5, 9, 0, 6, 3, 4, 7, 2, 1 };

Collections工具sort方法

Collections是一個工具類 例如比較常用的Arrays類就是一個工具類,它在java.util.Arrays包中,提供了很多運算元組的各種靜態方法. Collections工具類在java.util.Collections包中,用來操作Collection物件,也是

Collections集合工具方法

基本數據類型 接口 ons 一個 bubuko 字母 shuff str ole addAll & shuffle: 返回類型為boolean類型,執行完操作不接收也行; 其中,靜態方法,與對象無關,類名點方法名直接調用; 點點點為可變參數,隨便填寫幾

Java中的日歷/集合/數學/正則表達式/數組工具等的常用方法與基本功能

calendar類和Data類 Collection類和List 正則表達式regex Math類和Random類 System類和Iterator類 一、 Arrays 針對數組操作的工具類,提供了一些針對數組排序和二分搜索的方法。常用方法:1、public static String

Map、List、Set及Collections集合工具的綜合案例

  給定6名學生的考試分數錄入到地圖中,以學號作為金鑰,分數作為值; 列印該6名學生及對應的分數;並按分數顯示前三名學員學號與成績(選做題) 要求:綜合地圖,列表中,設定應用---使用集合工具對列表排序 問題: 1:假設分數不存在重複的(不做有重複分

Java集合操作Collections的一些常用方法

public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(34);

java學習筆記:集合框架的工具Collections

Collections:裡面定義的都是一些操作collection物件的靜態方法 List list=new ArrayList(); … 1.自然排序: Collections.sort(list); 2.倒序排序:Collections.sort(list,

Set集合及其子集合HashSet 、LinkedHashSet、TreeSet;Map集合及其子集合HashMap、Hashtable;Collections(集合工具);IO概述和異常

Set集合 TreeSet的排序例項 需求:儲存自定義物件到TreeSet集合中,並遍歷 package OBT; public class Student implements Comparable<Student>{ String

[Google Guava] 2.3-強大的集合工具:java.util.Collections中未包含的集合工具

原文連結 譯文連結 譯者:沈義揚,校對:丁一 尚未完成: Queues, Tables工具類 任何對JDK集合框架有經驗的程式設計師都熟悉和喜歡java.util.Collections包含的工具方法。Guava沿著這些路線提供了更多的工具方法:適用於所有集合的靜態方法。這是Guava最流行和

Collections 集合工具

1) 排序(Sort)使用sort方法可以根據元素的自然順序 對指定列表按升序進行排序。列表中的所有元素都必須實現 Comparable介面。此列表內的所有元素都必須是使用指定比較器可相互比較的double array[] = {112, 111, 23, 456, 231 };for (int i = 0;

Commons-Collections 集合工具的使用

package com.bjsxt.others.commons; import java.util.ArrayList; import java.util.List; import org.apache.commons.collections4.Predicate; import org

靜態匯入、可變引數、Collections集合工具集合巢狀

靜態匯入和可變引數 在導包的過程中我們可以直接匯入靜態部分,這樣某個類的靜態成員就可以直接使用了。在原始碼中經常會出現靜態匯入。 import static java.lang.System.out; public class Demo03 { public static void main(

操作集合工具Collections

  Java提供了一個操作Set、List和Map等集合的工具類:Collections,該工具類裡提供了大量方法對集合元素進行排序、查詢和修改等操作,還提供了將集合物件設定為不可變,對集合物件實現同步控制等方法。    排序操作 Collection

Java集 _集合工具Collections

掌握Collections 與 Collection 介面的區別 掌握Collections 類中提供的主要操作方法 在面試題目中有可能會問這樣一個問題,請回答, Collections 和 Collection 的關係。 Collections 類與 Collectio

Collections集合工具

println private hashset shuf bsp [] 自定義類 ole 工具 Collections集合工具類,專門用來對集合進行操作的。 常用方法: public static<T> boolean addAll(Collection