java 取list集合中出现次数最多的值 100

List<Map<String,Object>>stations=getAll(city,time);station里有多条数据。现在通过for(Map<String,O... List<Map<String, Object>> stations = getAll(city,time);
station 里有多条数据。现在通过
for (Map<String, Object> map : stations) {
map.get("factor");
}
取到里面所有的key为factor的值,我想拿出 factor里出现次数最多的那个值。改怎么拿,factor里的值都是String类型。急求!
展开
 我来答
弦外之音yy77
2014-12-25 · TA获得超过265个赞
知道小有建树答主
回答量:141
采纳率:100%
帮助的人:135万
展开全部
Map countMap = new HashMap<String, Integer>();
for (Map<String, Object> map : stations) {
String value = (String)map.get("factor");
if(countMap.containsKey(value)){
Integer thisCount = (Integer) countMap.get(value);
countMap.put(value,thisCount+1);
}else{
countMap.put(value,1);
}
}

String maxKey = "";
int maxNo= 0;
Set<String> keySet = countMap.keySet();
for(String key:keySet){
int valueNo = (Integer)countMap.get(key);
if(valueNo>maxNo){
maxNo = valueNo;
maxKey = key;
}
}

System.out.println("出现最多的值为:"+maxKey+" 出现次数为:"+maxNo);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-12-25
展开全部
int max = Integer.MIN_VALUE;
for (Map<String, Object> map : stations) {
    Integer x = (Integer)map.get("factor");
    max = max > x ? max : x;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式