问题一:
往hashmap中存数据
一个键值KEY,一个value
如果想把下面的值存入
KEY:1000  value:shanghai
KEY:1001  value:beijing
KEY:1002  value:guangdong
KEY:1000  value:nanjing想在  hashmap中是这样的效果:
KEY:1000  value:shanghainanjing
KEY:1001  value:beijing
KEY:1002  value:guangdong
问题二:Iterator it=set.iterator();
               while(it.hasNext())
               {
            Map.Entry me=(Map.Entry)it.next();
            System.out.println(me.getKey()+":"+me.getValue()+":"+me.hashCode());
        }
把这个代码放在1位置,可以执行,放在2位置就不执行,在2位置it.hasNext()不起作用 public static void main(String[] args){
        HashMap hm=new HashMap();
        Set set=hm.entrySet();
        try{
.................
        hm.put("one","aaa");
        hm.put("two","bbb");         
        hm.put("three","ccc");
............................1------------
                 }               try{
                for()
                 {                 ----2------                   }
                  }
       
                
    }

解决方案 »

  1.   

    第一题public void add(String key, String value) {
        if(map.get(key) == null) {map.put(key,value)}
        else map.put(key, ((String)map.get(key)) + value);
    }
      

  2.   

    第一个,这样比较好,如果不存在相同的KEY再往里面放,存在的话,则加起来放 HashMap hm = new HashMap();
    if(!hm.containsKey(key))
    {
    hm.put(key, value);
    }
                    else
                    {
                            hm.put(key, hm.get(key)+value);
                    }
    第二个没看懂
      

  3.   

    把Set set=hm.entrySet(); 这句直接放在2的位置那试试?
      

  4.   

    噢,第二个,我好像明白了
    Iterator在遍历完之后,要想再次重新遍历的话,需要再次得到hashmap的iterator
    比如: Iterator iter = hm.keySet().iterator();
    while(iter.hasNext())
    {
    System.out.println(iter.next());
    }
    iter = hm.keySet().iterator();
    while(iter.hasNext())
    {
    System.out.println(iter.next());
    }
      

  5.   

    Map hm = new HashMap<Integer,List<String>>;这样满足你的要求。