注册 登录
编程论坛 JAVA论坛

急需,我是初学Java的菜鸟,大家帮忙看一下下面这个有关集合的问题(打印每个字母出现的次数),怎么运行后没结果出现??

莫伊409 发布于 2015-07-22 11:22, 502 次点击
public class Demo01{
    public static void main(String[] args){
        String[] str={"a","b","x","c","v","a","s"};
        TreeMap<String, Integer> tm=new TreeMap<String,Integer>();
        Set<Map.Entry<String , Integer>> set=tm.entrySet();
        Iterator<Map.Entry<String ,Integer>> iterator=set.iterator();
        for (int i = 0; i < str.length; i++) {
            
            if(!(tm.containsKey(str[i]))){
                tm.put(str[i],1);
            }else{
                Integer value=tm.get(str[i]);
                tm.put(str[i], value++);
               
            }
        
        }
        while(iterator.hasNext()){
            Map.Entry<String, Integer> me=iterator.next();
            String name=me.getKey();
            Integer time =me.getValue();
            System.out.println(name+(time));
            
        }
        
        
    }

}
3 回复
#2
calix2015-07-22 20:09
程序代码:
public class Demo01 {
    public static void main(String[] args) {
        String[] str = { "a", "b", "x", "c", "v", "a", "s" };
        TreeMap<String, Integer> tm = new TreeMap<String, Integer>();
        Set<Map.Entry<String, Integer>> set = tm.entrySet();
        for (int i = 0; i < str.length; i++) {
            if (!(tm.containsKey(str[i]))) {
                tm.put(str[i], 1);
            } else {
                Integer value = tm.get(str[i]);
                tm.put(str[i], ++value);//注意这里的++i和i++的区别
            }
        }
                Iterator<Map.Entry<String, Integer>> iterator = set.iterator();//iterator要放在后面否则iterator.hasNext()是false
        while (iterator.hasNext()) {
            Map.Entry<String, Integer> me = iterator.next();
            String name = me.getKey();
            Integer time = me.getValue();
            System.out.println(name + (time));//你是要这个样子吗?System.out.println(name + "(" + time + ")");
        }
    }
}
#3
莫伊4092015-07-22 21:00
谢谢啦,我都没意识到iterator要放在后面,其他两处改的完全正确!!谢谢
#4
莫伊4092015-07-22 21:02
回复 2楼 calix
谢谢啦,我都没意识到iterator要放在后面,其他两处改的完全正确!!谢谢
1