1/1页1 跳转到查看:461
发新话题 回复该主题
键盘左右键可以进行前后翻页操作
帮助

求助Hashmap的问题

求助Hashmap的问题

这个程序实现的是 查找出现次数最多的数:

import java.util.*;

public class data {
public static void main (String[] args) {
    int max;
    HashMap <String,Integer> hm = new HashMap <String,Integer>();
    ArrayList <String> list = new ArrayList <String>();
   
    for (int i=0;i <args.length;i++) {
String s = args;
    if(hm.containsKey(s)) {
      hm.put(s, hm.get(s) + 1);  //hm.get(s)++;编译器说有问题,为什么呢?
} else {
  hm.put(s,1);
  list.add(s);
}
    }
max=hm.get(list.get(0));
    for(int i = 0 ; (i+1) <list.size() ; i++) {
  if(hm.get(list.get(i)) <= hm.get(list.get(i+1))) {
      max = hm.get(list.get(i+1));
  }
    }

    for(int i = 0 ; i <list.size() ; i++ ) {
  if(hm.get(list.get(i)) == max)
  System.out.println(list.get(i) + "  " + max + "次");
    } 
     
}

}

求高手帮我简化一下代码,总觉得我绕了很多弯路,我同学用C++写的也是用map(),代码比我的少了很多很多,我看他可以直接向数组一样使用map;另外他也直接用了map里的求最大值得方法,而我的这个程序还得自己写。还得用一个ArrayList来存储Key
。java里有没有对集合求MAX的方法呢?有没有对collection里的数据进行修改的方法呢?我看了一下API,不仅是map,连set,list里都没有对数据进行修改的方法,只有插入和删除,遍历。求高手帮帮忙,这是小弟第一次独立完成的一个程序,有什么好的算法,思路,方法都可以。。。

TOP

 
1/1页1 跳转到
发表新主题 回复该主题