我是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