| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 502 人关注过本帖
标题:急需,我是初学Java的菜鸟,大家帮忙看一下下面这个有关集合的问题(打印每 ...
只看楼主 加入收藏
莫伊409
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2015-7-22
结帖率:100%
收藏
已结贴  问题点数:2 回复次数:3 
急需,我是初学Java的菜鸟,大家帮忙看一下下面这个有关集合的问题(打印每个字母出现的次数),怎么运行后没结果出现??
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));
            
        }
        
        
    }

}
2015-07-22 11:22
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
收藏
得分:2 
程序代码:
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 + ")");
        }
    }
}
收到的鲜花
  • 莫伊4092015-07-22 21:06 送鲜花  3朵   附言:我很赞同
2015-07-22 20:09
莫伊409
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2015-7-22
收藏
得分:0 
谢谢啦,我都没意识到iterator要放在后面,其他两处改的完全正确!!谢谢
2015-07-22 21:00
莫伊409
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2015-7-22
收藏
得分:0 
回复 2楼 calix
谢谢啦,我都没意识到iterator要放在后面,其他两处改的完全正确!!谢谢
2015-07-22 21:02
快速回复:急需,我是初学Java的菜鸟,大家帮忙看一下下面这个有关集合的问题(打 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017190 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved