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類:
publicclass
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...