List集合排序的方法

2022-09-12 22:27:30 字數 1693 閱讀 6139

1、list集合中的物件實現comparable介面

public class user implements comparable

測試類實現list按照實體類的age欄位排序

public static void main(string args)

列印結果為

2

2343

還可以根據lsit集合中的物件的某個字段獲取最大值和最小值,通過collections.min()和collections.max()方法

public static void main(string args)

列印結果為

2

2、通過匿名內部類來進行比較排序

public static void main(string args)

});for (member member : mlist)

此處為但條件排序,根據年齡進行排序,結果為

2---張志紅

3---張會生

4---李鴻章

也可以按照多條件來排序,先按名稱首字母排序,相同再按年齡排序

public static void main(string args) else

return rs;

}});

for (member member : mlist)

}

列印結果為

4---李鴻章

2---張志紅

3---張會生

3、jdk1.8開始引入了lambda表示式,可以用來替換匿名內部類

lambda表示式的語法

基本語法:

(parameters) -> expression

(parameters) ->

下面是j**a lambda表示式的簡單例子:

// 1. 不需要引數,返回值為 5  

() -> 5

// 2. 接收乙個引數(數字型別),返回其2倍的值

x -> 2 * x

// 3. 接受2個引數(數字),並返回他們的差值

(x, y) -> x – y

// 4. 接收2個int型整數,返回他們的和

(int x, int y) -> x + y

// 5. 接受乙個 string 物件,並在控制台列印,不返回任何值(看起來像是返回void)

(string s) -> system.out.print(s)

所以上面通過匿名內部類對list排序的方法就可以改寫成下面的

collections.sort(mlist,(member m1, member m2) ->m1.getage().compareto(m2.getage()));

List集合的排序

test public void test01 排序前 3,2,1,4 排序後 1,2,3,4 test public void test02 system.out.println collections.sort list for user user list system.out.println...

集合 List 排序

以下是我做的乙個例項 第一步 建立物件類 content public class content public string getname public void setname string name public long gettime public void settime long t...

list集合的常用方法

1 對list去重 1 簡單的基本型別lista new arraylista.add 1 a.add 2 a.add 1 a a.stream distinct collect collectors.tolist a.foreach b system.out.println 2 一般物件去重lis...