Java8新特性Stream之list轉map

 

key:Train_Id value:列車信息

Map<String, TrainInfo> map = trainInfoInfoList.parallelStream().collect(Collectors.toMap(TrainInfo::getTrainId, Function.identity()));

key:線路id+列車號,lineId+trainNum

Map<String, TrainInfo> map2 = trainInfoInfoList.parallelStream().collect(Collectors.toMap(k -> k.getLineId()+k.getTrainNum(), Function.identity()));

將數據庫中的分區集合轉換爲map,key值爲broadcastid和taskno拼接字符串

Map<String, List<BroadcastRecordMaterialInfo>> mMap = database_MList.parallelStream().collect(Collectors.groupingBy(e->e.getBroadcastid()+e.getTaskno()));

 

注:

所有數據不存在主鍵重複或value爲null的情況,如有此情況,請再加參數

,(k1,k2)->k1)。重複時用後面的value 覆蓋前面的value

value爲null

Map<String, Object> collect = arrayList.parallelStream().collect(Collectors.toMap(TrainInfo::getMainIp, e -> e.getLineId() == null ? "" : e.getLineId()));

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章