大家好,刚开始学java,请多多帮助,谢谢!
我想完成这样的功能:
  Map<String,String>  mTestmap;
   mTestmap=new HashMap<String, String>();
mTestmap.put("xingqi1","星期1");
mTestmap.put("xingqi2","星期2");
mTestmap.put("xingqi3","星期3");
mTestmap.put("xingqi4","星期4");
mTestmap.put("xingqi5","星期5");我现在想让一个字符串 如: String s="xingqi4"; 经过一个函数转换成“星期5”
还有 String s1="星期5"转换成 “xingqi5” ,请问下这样如何转换,谢谢!

解决方案 »

  1.   

    有意思的,比如需要进行格式字符串转换, 从一个sdk中读取的字符串,我需要更新成另一个字符串,这样就用到了啊!
    上面的我只是举例.谢谢!
      

  2.   

    首先,你键和值肯定是唯一的,即:值不可能在键中重复。
    mTestmap.get()不到数据的时候。
    再遍历一次值对应的键就OK了。
      

  3.   

    private String getValue(String key,Map<String,Object> map){
    String value = "";
    if(map.containsKey(key)){//判断传入的key值是map的key就直接获得值
    value = (String) map.get(key);
    } else {//判断传入的key值不是map的key 就遍历map找到对应value值 返回这个value的key
    for(String mapKey : map.keySet()){
    if(map.get(mapKey).equals(key)){
    value = mapKey;
    }
    }
    }
    return value;
    }
      

  4.   

    不知道是不是你打错了
    xingqi4转成星期五
    星期五转成xingqi5
    这明显没有规律性
    如果是楼主打错了
    那么
    Map<String,String> map=null;//这里赋值
    for(String key:map.keySet()){
    String value=map.get(key);
    map.remove(key);
    map.put(value, key);
    }
    就行了
      

  5.   

     首先互转的KEY,VALUE 是不同的 比如<K,V>=A->B 和,<KEY,VALUE=B->A
     这样就要求你把不同的KEY,VALUE都PUT到MAP中
      

  6.   

    这时候只要s.replace("xingqi", "星期"),s1.replace("星期", "xingqi")就好啦 
      

  7.   

    谢谢各位的回复。
    xiuxiu2by : 真是太V5了,这个正式我想要的效果,谢谢了!谢谢!