请实现下面方法,比较100个Set<Integer>,查询出现次数大于 10次的数字pulbic List<Intger>count(List<Set<Integer>>lists){ return null; }
时间: 2024-10-21 07:03:37 浏览: 29
在Java中,你可以这样实现`count`方法,它接收一个List of Set of Integer类型的参数,然后返回一个包含出现次数大于10的Integer的List:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public List<Integer> count(List<List<Integer>> lists) {
// 创建一个HashMap来存储每个数字及其出现的次数
HashMap<Integer, Integer> counter = new HashMap<>();
// 遍历所有的Set
for (List<Integer> set : lists) {
// 遍历每个Set中的元素
for (Integer num : set) {
// 如果元素已经在map中,则加1;否则,设置为1
counter.put(num, counter.getOrDefault(num, 0) + 1);
}
}
// 创建一个ArrayList来存放出现次数大于10的数字
List<Integer> result = new ArrayList<>();
// 检查并添加出现次数大于10的数字
for (Integer key : counter.keySet()) {
if (counter.get(key) > 10) {
result.add(key);
}
}
// 返回结果
return result;
}
```
这个方法首先遍历每个Set,统计每个数字的出现次数,然后筛选出出现次数大于10的数字,并将其添加到结果列表中。
阅读全文