我瞭解如何處理地圖條目並將生成的流收集到不同的地圖中。但我需要使用一個構造函數來傳遞前一個地圖的關鍵字,我不知道如何去做。Java 8流:收集地圖到地圖和構造函數
的情況如下:
我有一個Map<Event, EventSchedule> schedules
,我想從它Map<Event, InverseSchedule>
。 InverseSchedule
由Event
構成,正好在schedules
中的每個關鍵字。
這是我嘗試過,到目前爲止,我只是一塊遠離終於實現我追求的:
Map<Event, InverseSchedule> inverseSchedules = schedules.get()
.keySet()
.stream()
.collect(Collectors.toMap(Function.identity(), ???));
我已經試過InverseSchedule::new
但當然不行,因爲我沒有傳遞任何參數,而且我也無法使用lambda表達式。
我仍然在努力理解這些新的Java 8功能。我真的很感激,如果答案包括爲什麼它的工作的解釋,而不是隻提供缺少的一塊。
'InverseSchedule :: new',假設有一個'InverseSchedule'的構造函數接受'Event'? – Tunaki
爲什麼'InverseSchedule :: new'不工作? Stream會將參數傳遞給它,它將成爲一個Event。如果你能向我們展示所提到的構造函數,那將是最好的。 –
如果你想要回答這個問題,你應該添加關於你的類的信息 - 這些不是標準Java庫中的類,所以我們不知道它們提供了什麼構造函數或方法。你如何從'Event'中創建'InverseSchedule'?你不想要任何值('EventSchedule')的信息嗎?請[編輯]你的問題,並擴大。 – RealSkeptic