JDK1 8按照乙個屬性去重或者多個屬性去重

2021-10-08 09:33:33 字數 801 閱讀 1100

1、按照物件中的乙個屬性去重

//明細詳情

listreceiptdetaillistbacklist1 = receiptbackbody.getdetaillist();

//去重進庫任務明細狀況

listreceiptbacklist= receiptdetaillistbacklist1.stream().collect(

collectors.collectingandthen(

collectors.tocollection(() -> new treeset<>(comparator.comparing(o->o.getdetailid()))), arraylist::new)

);unique.foreach(p -> logger.info("去重後的資料{}",p));

2、按照物件的多個屬性去重

//明細詳情

listreceiptdetaillistbacklist1 = receiptbackbody.getdetaillist(); //去重進庫任務明細狀況 listreceiptbacklist= receiptdetaillistbacklist1.stream().collect( collectors.collectingandthen( collectors.tocollection(() -> new treeset<>(comparator.comparing(o->o.getdetailid()+ ";" + o.receiptcode()))), arraylist::new) ); unique.foreach(p -> logger.info("去重後的資料{}",p));

js讓乙個物件 陣列,去重

乙個陣列中的每一項都是物件,現在需要將這個物件中id相同的只保留乙個,即根據id去重,通過以上方法可實現 var person var obj person person.reduce cur,next 設定cur預設型別為陣列,並且初始值為空的陣列 console.log person 同上的情況...

乙個根據相似度的去重方法

需求,乙個csv檔案中有很多行,每行是個id,字串,每個字串可能兩兩相似 是相似,不是相同 怎樣去重,保留兩兩相似度小於0.8的id。做法,用diff庫計算兩兩相似度,每次計算結果,這裡可以用 程序 執行緒 協程加速 然後將相似度大於0.8的結果放到set中,最後set中取任意乙個加非集合中成員,可...

記錄乙個因為Json去重引發的問題

如下 identityhashmapmaps new identityhashmap maps.put new stringbuilder 張三 tostring 123 maps.put new stringbuilder 李四 tostring 1235 maps.put new stringb...