HashMap 1 : N的几种解决方案之一

由问题引出:
记录下面每个单词出现的次数;
 love turns you and me to us.
思路是:
1. 分割字符串;
2.分拣包装:将每个单词做为一个Key,出现的次数对应Value;
3.输出出现次数;
下面代码撸起:

package collection4;
/**
 * 
 * @author ItigerU
 *
 */
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class TestDemo {
 
 public static void main(String[] args){
     String[] str = "love turns you and me to us.".split(" ");
     Map<String, Integer> map = new HashMap<String, Integer>();
//这是第一种for循环:
     for(String key : str){
          if(!map.containsKey(key)){ //看容器里是否有这个key,如果没有,就放进去;
           map.put(key, 1);
          }else{
           map.put(key, map.get(key) + 1);    //如果有了key了,就把value+1;
          }
     }
//第二种for循环:
    for(String key: str){
    Integer value = map.get(key);
    if(null == value){
        map.put(key, 1);
     }else{
     map.put(map, value + 1);
     }
//两种循环,其实思路是一样的,一个对key进行判断,一个对value进行判断;
 
     Set<String> set = map.keySet();//利用迭代器把set给取出来;
     for(Iterator<String> iter = set.iterator(); iter.hasNext();){    //这里是把容器里的给取出来;
          String s = iter.next();
          System.out.println(s + " : " + map.get(s));
     }
 }
}

这是第一种方法;

转载于:https://my.oschina.net/u/2559261/blog/549881

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值