java8 多個list物件用lambda求差集

2021-09-10 03:57:18 字數 478 閱讀 4731

業務場景:呼叫同步介面獲取當前全部有效賬戶,資料庫已存在部分賬戶資訊,因此需要篩選同步介面中已存在本地的帳戶。

呼叫介面獲取的資料集合

listlist = response.getdata().getitems();
本地查詢出來的賬戶集合

listtowlist = accountrepository.findall();
篩選差集**

listdistinctbyuniquelist = list.stream()

.filter(item -> !towlist.stream()

.map(e -> e.getownerid())

.collect(collectors.tolist())

.contains(item.getownerid()))

.collect(collectors.tolist());

就這樣獲取到需要處理的資料。

Java8中list轉map方法總結

1.利用collectors.tomap方法進行轉換 public map getidnamemap list accounts 其中第乙個引數就是可以,第二個引數就是value的值。2.收集物件實體本身 在開發過程中我們也需要有時候對自己的list中的實體按照其中的乙個字段進行分組 比如 id l...

JAVA8 對List分組同時排好序

public responsestatus findallfkrulebyfsid string fsid return responsestatus.object fkrulevolist 下面是groupingby的引數說明 可以看到有三個引數,第乙個引數就是key的function了,第二個引...

用java8的LocalDate實現最近幾個月查詢

今天又得到了大佬的關愛,大佬教我用localdate long num 6l 最近幾個月 月份 localdate end localdate.now minusmonths 1 起始時間 localdate start end.minusmonths num localdate firstday ...