在学java 8,用Java做不出来...哪里错了
同样的题 majority number..
scala
val num = List(1,1,1,1,1,1,1,1,1,11,1,1,1,1,1,1,2,3,4,5,6,7)
num.groupBy(x=>x).filter(_._2.size > num.length / 2).map(_._1).foreach(
println)
output:
1
java
List nums = new ArrayList<>();
for (int i = 1; i <= 15; i++) nums.add(1);
for (int i = 1; i <= 3; i++) nums.add(i);
Collection> collect = nums.stream().collect(Collectors
.groupingBy(n -> n)).values();
System.out.println(collect);
Stream.of(collect).filter(l -> l.size() > nums.size() / 2).collect(
Collectors.toList()).forEach(l -> System.out.println(l));
只看到第一个println
[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [2], [3]]
看不到后面的println