【最简单的修改HashMap value值的方法】

说到遍历,首先应该想到for循环,然而map集合的遍历通常情况下是要这样在的,先要获得一个迭代器。
    [java]
    Map<Integer,String> map = new HashMap<>();
    Iterator it = map.entrySet()。iterator();
    while (it.hasNext()) {
    Map.Entry entry = (Map.Entry) it.next();
    Object key = entry.getKey();
    Object value = entry.getValue();
    Map<Integer,String> map = new HashMap<>();
    Iterator it = map.entrySet()。iterator();
    while (it.hasNext()) {
    Map.Entry entry = (Map.Entry) it.next();
    Object key = entry.getKey();
    Object value = entry.getValue();
    实际上一个foreach循环也是可以的,很简洁吧~
    [java]
    for(Map.Entry<Integer,Integer> m:map.entrySet())
    {
    if(arr[i]==(int)m.getKey())
    map.put((int)m.getKey(),(int)m.getValue()+1);
    }
    for(Map.Entry<Integer,Integer> m:map.entrySet())
    {
    if(arr[i]==(int)m.getKey())
    map.put((int)m.getKey(),(int)m.getValue()+1);
    }
    附上一个完整的小程序例子。
    随机生成长度为100的数组,数组元素为1到10,统计出现次数最多和最少的元素
    [java]
    mport java.util.*;
    class   Count
    {
    public void count(int[] arr)
    {
    int num=0;
    Map<Integer,Integer> map=new HashMap<Integer,Integer>();
    for(int i=1;i<=10;i++)
    {
    map.put(i,num);
    }
    for(int i=0;i<arr.length;i++)
    {
    /*Iterator it = map.entrySet()。iterator();
    while(it.hasNext())
    {
    Map.Entry m=(Map.Entry)it.next();
    if(arr[i]==(int)m.getKey())
    map.put((int)m.getKey(),(int)m.getValue()+1);
    }*/
    for(Map.Entry<Integer,Integer> m:map.entrySet())
    {
    if(arr[i]==(int)m.getKey())
    map.put((int)m.getKey(),(int)m.getValue()+1);
    }
    }
    for(Map.Entry<Integer,Integer> m:map.entrySet())
    {
    System.out.println(""+m.getKey()+"出现的次数为:"+m.getValue()+"次");
    }
    }

更多精彩教程请关注:xp主题下载

posted on 2013-08-11 14:32  潇洒kman  阅读(2063)  评论(0)    收藏  举报