我是java Stream API的新手,並且有解決使用它的用例。在java中分組8 8 Stream API
Map<Object, ? extends Object> map = list.stream().collect(Collectors.groupingBy(p->p.getX()
,Collectors.groupingBy(p->p.getY()
,Collectors.groupingBy(p->p.getZ()))));
考慮到x,y和z是給定類的屬性。如果我們具有預定義的分組順序(哪個屬性需要考慮第一個,第二個等...),這可以正常工作。
(給定的一段代碼屬性x被認爲是1st,y 2nd和z 3rd)。
現在,就我而言,分組的順序不是預定義的,可能會在運行時更改。所以,在編譯時,我不知道在collect方法中傳遞什麼。 我正在尋找一種解決方案,通過該解決方案,我可以讀取配置字符串並在運行時更改分組。
你是什麼意思「讀取配置串並改變在分組運行。」? – Tunaki
好的,讓我們假設它是用戶定義的 - 所以如果用戶定義了groupingOrder = x,y,z它應該如上所述分組,如果另一個用戶將其定義爲y,x,z,它應該相應地改變..(* groupingOrder只是我的名字作爲參考) – Sachin