用 lambda 表示式 對 List 進行排序

2022-07-24 00:39:26 字數 2206 閱讀 3801

listlist = new arraylist<>();

list.add(4);

list.add(6);

list.add(3);

list.add(5);

list.add(1);

list.add(2);

iterator

iterator =list.iterator();

system.out.println("排序前:");

while

(iterator.hasnext())

list.sort((a, b) -> a - b); //

排序 iteratoriteratorsort =list.iterator();

system.out.println("\n"+"排序後:");

while

(iteratorsort.hasnext())

輸出結果:

排序前:

4 6 3 5 1 2排序後:

1 2 3 4 5 6

下面用實體類裡面的屬性進行排序:

person類:

public

class

person

public

string getname()

public

void

setname(string name)

public

integer getage()

public

void

setage(integer age)

public

integer getscore()

public

void

setscore(integer score)

@override

public

string tostring()

}

測試一下:

listlist = new arraylist<>();

list.add(

new person("lc",22,100));

list.add(

new person("ly",16,70));

list.add(

new person("yyz",20,60));

list.add(

new person("mxy",20,80));

list.add(

new person("lxy",15,90));

list.sort((a, b) -> a.getage() - b.getage()); //

按年齡排序

system.out.println("按年齡排序:");

iterator

iterator_age =list.iterator();

while

(iterator_age.hasnext())

list.sort((a, b) -> a.getscore() -b.getscore());

system.out.println("按分數排序:");

iterator

iterator_score =list.iterator();

while

(iterator_score.hasnext())

輸出結果:

按年齡排序:

person [name=lxy, age=15, score=90]

person [name=ly, age=16, score=70]

person [name=yyz, age=20, score=60]

person [name=mxy, age=20, score=80]

person [name=lc, age=22, score=100]

按分數排序:

person [name=yyz, age=20, score=60]

person [name=ly, age=16, score=70]

person [name=mxy, age=20, score=80]

person [name=lxy, age=15, score=90]

person [name=lc, age=22, score=100]

Lambda表示式對List的處理

忘記是在哪看到的了,很久以前收藏的,現在轉存在這裡 定義乙個employee類 public class employee public string lastname public decimal salary public bool ismanager 再定義乙個employee的列表 list...

lambda表示式 lambda表示式

1.概述 c 11 中的 lambda 表示式用於定義並建立匿名的函式物件,以簡化程式設計工作。lambda 的語法形式如下 函式物件引數 操作符過載函式引數 mutable 或 exception 宣告 返回值型別可以看到,lambda 主要分為五個部分 函式物件引數 操作符過載函式引數 muta...

Lambda表示式轉換List整理

lambda 通用list轉map lambda表示式對list常見轉換整理 基於如下物件進行操作 data lombok 註解,替代get set方法 public class myobject 目標list listmyobjectlist new arraylist 1 獲取物件myobjec...