我有兩個物件型別的串列listA和listB
。ListA[name=abc, age=34, weight=0, height=0] 從excel表格中收集的資料
ListB[name=null, age=0, weight=70, height=6] 從資料庫中收集的資料。現在我想把這兩個串列合并成一個串列
MergedList[name=abc, age=34, weight=70, height=6]/code>
有人能幫助我嗎?
注意:我的obj類有超過15個屬性,所以用getProperty()逐個添加每個屬性會很耗時,有更好的方法嗎?
uj5u.com熱心網友回復:
將它們轉換為Map,其中鍵是物件的名稱(你將元素表示為name=abc表明它們是名/值對)。
Map<String,MyMysteriousObject> converted = list.stream().collectors.toMap(MyMysteriousObject::getName, Function.ident() )。
(將getName替換為你用來獲取物件名稱的任何函式)
然后就可以合并地圖了。例如,這里描述了如何合并地圖,。
同時,考慮在你的整個代碼中用地圖取代串列。這肯定也會在其他地方節省大量的作業。
但是如果你必須再次擁有一個串列,只需List<MyMysteriousObject> resultList = new ArrayList<> (resultMap);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/325715.html
標籤:
