導航:首頁 > 編程語言 > java重排序

java重排序

發布時間:2025-03-16 21:31:03

java:自定義一個順序,然後對List按照該順序排序。。

在Java中,如果你想對一個List按照自定義順序進行排序,可以使用Collections.sort(List list, Comparator c)方法。這里的關鍵在於如何定義Comparator介面的具體實現,以適應你的排序需求。比如,如果你想根據字元串長度對字元串列表進行排序,你可以這樣寫:

Collections.sort(list, new Comparator() {
public int compare(String o1, String o2) {
int result = o1.length() - o2.length();
return result;
}
});

這里,我們定義了一個匿名內部類實現Comparator介面,並重寫了compare方法。在compare方法中,我們比較了兩個字元串的長度,如果o1的長度大於o2,則返回正數;如果o1的長度小於o2,則返回負數;如果兩者長度相等,則返回0。注意,返回一個int值是必須的,它決定了排序的順序。

同樣,如果你想要根據字元串中特定字元的位置進行排序,例如按照第一個字元進行排序,你可以這樣做:

Collections.sort(list, new Comparator() {
public int compare(String o1, String o2) {
int result = o1.charAt(0) - o2.charAt(0);
return result;
}
});

這里,我們比較了兩個字元串的第一個字元,如果o1的第一個字元大於o2的第一個字元,則返回正數;如果小於,則返回負數;如果相等,則返回0。通過這種方式,你可以根據任何你需要的規則對列表進行排序。

總之,使用Collections.sort(List list, Comparator c)方法並自定義Comparator的compare方法,可以讓你靈活地對任何類型的列表按照自定義規則進行排序,這在實際開發中非常有用。

Ⅱ java中如何對數組和集合進行排序

在Java中,對集合進行排序可以使用Collections.sort方法。此方法不僅適用於中文、字母和數字,還能處理對象的排序。當比較對象時,需要讓該類實現Comparable介面。下面是一個示例:

假設有一個名為dataMap的集合,需要對其進行排序。通過創建一個Comparator介面的實現類,並重寫compare方法,可以實現自定義的排序邏輯。具體代碼如下:

java

Collections.sort(dataMap, new Comparator<Map>() {

@Override

public int compare(Map lhs, Map rhs) {

switch (whichsort) {

case System_OpenPosition_Sort_Currency:

String d2 = (String) rhs.get("Instrument");

String d1 = (String) lhs.get("Instrument");

if (d2 != null && d1 != null) {

int flag = d1.compareTo(d2);

if (flag == 0) {

Double d3 = (Double) rhs.get("OpenPrice");

Double d4 = (Double) lhs.get("OpenPrice");

if (d3 != null && d4 != null) {

int flag2 = d4.compareTo(d3);

if (flag2 == 0) {

String d5 = (String) rhs.get("BuySell");

String d6 = (String) lhs.get("BuySell");

// 文字排序

if (d5 != null && d6 != null) {

return d6.compareTo(d5);

}

}

return d4.compareTo(d3);

}

} else {

return flag;

}

// return d1.compareTo(d2);

}

break;

// 其他case...

}

return 0;

}

});

在這個示例中,通過switch語句根據不同的排序條件進行判斷。如果需要對特定欄位進行排序,可以使用get方法獲取對應的值,然後進行比較。這里展示了如何對字元串和數字進行比較,以及如何對字元串進行字典順序比較。

需要注意的是,Comparator介面的compare方法返回一個int值,用於表示兩個對象的相對順序。如果返回值小於0,則lhs在rhs之前;如果返回值大於0,則lhs在rhs之後;如果返回值等於0,則兩者相等。

總之,通過實現Comparable介面或使用Comparator介面,Java提供了靈活的排序機制,可以根據具體需求對集合中的元素進行排序。

閱讀全文

與java重排序相關的資料

熱點內容
centosjava環境變數配置 瀏覽:552
伺服器主板被鎖如何恢復 瀏覽:129
xpc語言編程軟體 瀏覽:820
光遇安卓怎麼解限制 瀏覽:300
元氣騎士老版源碼 瀏覽:102
助眠解壓音頻小姐姐口腔音 瀏覽:232
sql加密身份證號解碼 瀏覽:161
解壓玩法視頻 瀏覽:464
蘋果xls如何設置加密 瀏覽:206
湖北廣電dns的伺服器地址是多少 瀏覽:527
php獲取原始數據 瀏覽:250
pic單片機如何編程 瀏覽:895
javabyte寫文件 瀏覽:325
java獲取類包名 瀏覽:894
ftp命令編碼格式 瀏覽:300
程序員那麼可愛陸離穿正裝 瀏覽:171
源碼的賬號密碼在哪個文件 瀏覽:443
如何在中國農業銀行app綁定銀行卡 瀏覽:996
shopnum1多用戶商城系統源碼 瀏覽:750
紅包廣告平台源碼 瀏覽:776