Java 8中stream相關用法

2021-08-21 21:05:05 字數 1131 閱讀 5366

jdk1.8新加了lambda表示式,可以幫助開發者更好的,更高效的實現一些通常複雜的**實現

1.list轉換map

2.從實體中取出id集合,去重

listlist = page.stream().filter(m->m.getid()>0).map(k -> k.getid()).distinct().collect(collectors.tolist());
3.遍歷乙個list,和另乙個list對比,取出id相同的每個實體

saleman sale = salelist.stream().filter(e -> e.getid().intvalue() == olm.getsm_saleman_id()).findfirst().orelse(null);
4.排序(先按第乙個字段排序,如果排序字段相等,在按第二個字段排序)

comparatorcomparator0 =(b, a) -> a.getcreate_time().compareto(b.getcreate_time());

resultlist.sort(comparator0);

comparatorcomparator = comparator0.thencomparing((a,b) -> b.getcreate_time().compareto(a.getcreate_time()));

for (cartgoodsinfo info : shop.getgoodsinfolist()) );

pricelist.addall(info.getpriceinfolist());

}list_order_goods.sort((a,b)->);

5.根據某個id獲取list中和這個id相同的實體

listpricelist = priceslist.stream().filter(k -> ).collect(collectors.tolist());

listunzplist = list_order_goods.stream().filter(m->m.getis_giveaway() == 0).distinct().collect(collectors.tolist());

JAVA8新特性Stream學習中

stream是資料渠道,用於運算元據源 集合,陣列等 所生成的元素序列。集合講的是資料,流講的是計算 注 stream自己不會儲存元素 stream不會改變源物件。相反,他們會返回乙個持有結果的新的stream stream操作是延遲執行的。這意味著他們會等到需要結果的時候才執行。步驟 建立stre...

Java8之Stream流代替For迴圈

stream流代替for迴圈進行輸出可以使 更簡潔。需求 根據姓名獲取員工資訊 1.建立實體類 emp public class emp public string getid public void setid string id public string getname public void...

java8之stream常見方法

通過名字知道這是個對映關係。stream map function super t,extends r stream stream stream.of 1 2 3 stream mapresult stream.map str integer.parseint str 扁平化對映,這個從字面理解有點...