返回Kotlin或Java中给定int数组的已排序2D频率数组

返回Kotlin或Java中给定int数组的已排序2D频率数组,java,kotlin,Java,Kotlin,我有一个带有整数数组的一维数组,如arr=[2,1,2,2],它应该返回类似于按值升序排序的二维数组,并具有匹配的频率:[[2,3],[1,1]] 这里2的值出现3次,1出现1次,这就是为什么值返回[[2,3],[1,1]] 其他示例如数组,如[3,3,1,2,1],应返回[[1,2],[3,2],[2,1]。在Java中,可以使用流API计算收集到树映射中的数组元素的频率,然后按值的相反顺序排序: 静态int[][]getFrequenciesint。。。啊{ 返回数组.streamarr .

我有一个带有整数数组的一维数组,如arr=[2,1,2,2],它应该返回类似于按值升序排序的二维数组,并具有匹配的频率:[[2,3],[1,1]]

这里2的值出现3次,1出现1次,这就是为什么值返回[[2,3],[1,1]]


其他示例如数组,如[3,3,1,2,1],应返回[[1,2],[3,2],[2,1]。

在Java中,可以使用流API计算收集到树映射中的数组元素的频率,然后按值的相反顺序排序:

静态int[][]getFrequenciesint。。。啊{ 返回数组.streamarr .盒装 .collectors.groupingBy x->x, 树映射::新的, 收集器.summingtx->1 .entrySet.stream .sortedMap.Entry.comparingByValue.reversed .mape->newint[]{e.getKey,e.getValue} .toArrayint[]]::新的; }
请发布您迄今为止尝试过的代码。请参阅本文: