1. list 轉陣列
string ss = liststr.stream().toarray(string::new);
2. 刪除 list 中所有null
listlistwithoutnulls = list.stream() .filter(objects::nonnull) .collect(collectors.tolist());
listlistwithoutnulls = list.parallelstream() .filter(objects::nonnull) .collect(collectors.tolist());
3.將list 中實體類兩個欄位轉 map
mapmap = list.stream().collect(collectors.tomap(entity::getid, entity::gettype));
4.求和 list 中物件
1. bigdecimal allfullmarketprice = entitylist.stream().filter(value -> value.getfullmarketprice()!=null).map(sceneanalysisrespvo::getfullmarketprice).reduce(bigdecimal.zero, bigdecimal::add);
2 . bigdecimal total = naturaldaylist.stream().reduce(bigdecimal.zero, bigdecimal::add); 其中:naturaldaylist 是list 物件
5.分組函式
map> groupmap = list.stream().collect(collectors.groupingby(object::getvmname));
6. 大資料量的list 分批次 切割處理
按每n個一組分割
private static final integer max_number = n ;
/* 計算切分次數 */
private static integer countstep(integer size)
int limit = countstep(list.size());
//方法一:使用流遍歷操作
list> mglist = new arraylist<>();
stream.iterate(0, n -> n + 1).limit(limit).foreach(i -> );
//方法二 :獲取分割後的集合
list> splitlist = stream.iterate(0, n -> n + 1).limit(limit).parallel().map(a -> list.stream().skip(a *max_number).limit(max_number).parallel().collect(collectors.tolist())).collect(collectors.tolist());
7. string 轉 list
arrays.stream(strarr.split(",")).map(s -> long.parselong(s.trim())).collect(collectors.tolist());
8. list 轉string ....
listlist2 = arrays.aslist("文學","**","歷史","言情","科幻","懸疑");
list2.stream().collect(collectors.joining("-"));
string string= "文學-**-歷史-言情-科幻-懸疑";
listlist = arrays.aslist(string.split("-")).stream().map(s -> string.format(s.trim())).collect(collectors.tolist());
9. 利用lambda 去重
listdatalist = list.stream().distinct().collect(collectors.tolist()); //字串去重
personlist.stream().collect(collectors.collectingandthen(collectors.tocollection(() -> new treeset<>(comparator.comparing(person::getname))), arraylist::new)); // 物件屬性去重
10.多個統一物件的list 合成乙個list 集合
listlist = new arraylist<>();
statisresps.parallelstream().filter(v -> v.getstaffname() != null).collect(collectors.groupingby(o -> (o.getservicestaffid()),collectors.tolist())).foreach( (id,transfer) ->);
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...
Lambda表示式和Lambda表示式樹
原版來自 linq學習筆記之二 lambda表示式和lambda表示式樹 lambda 表示式 lambda expressions 是linq實現的另一特性。lambda表示式的作用就是使用使用函式式語法,將方法實現關聯到委託例項。在使用查詢表示式 query expressions 時,查詢表示...