已给予:
List<Integer> myIntegers = Arrays.asList(1, 1, 2, 3, 4, 2);
个
返回:
A整数=Sum(整数频率)/2))
我可以使用Collectors.groupingBy()获得每个整数的频率,但是希望将每个频率值除以2,然后将映射中的所有值相加,只返回一个Integer:
Map<Integer, Long> myIntegerMap = myIntegers.stream().collect(Collectors.groupingby(Function.identity(), Collectors.counting()));
个
for(Map.Entry<Integer, Long> a : myIntegerMap.entrySet()){ System.out.print(a.getKey(), + "==>"); System.out.println(a.getValue());}
个
输出:
1==>;2
2==>;2
3==>;1
4==>;1
Desired 输出:
(2/2)+(2/2)+(1/2)+(1/2)=2