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()));