package com.example.mountaintravel.util;


/**
 * @date 2015年12月17日 下午3:40:33
 */

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.Map.Entry;

/**
 * @ClassName: MapAndStringUtil 
 * @Description: TODO(说明：Map<一维> 和 String 之间 按照指定格式 进行 相互转换) 
 */
public class MapAndStringUtil {
	

	/**
	 * 方法名称:transMapToString
	 * 函数功能：把一维map转为按指定格式分割的字符串
	 * 传入参数:map
	 * 返回值:String 形如 username:admin||password:123456
	*/
	public static String mapToString(Map<String,Object> map){
	  Entry<?, ?> entry = null;
	  StringBuffer sb = new StringBuffer();
	  for(Iterator<?> iterator = map.entrySet().iterator(); iterator.hasNext();)
	  {
	    entry = (Entry<?, ?>)iterator.next();
	      sb.append(entry.getKey().toString()).append( ":" ).append(null==entry.getValue()?"":
	      entry.getValue().toString()).append (iterator.hasNext() ? "||" : "");
	  }
	  return sb.toString();
	}
	
	/**
	 * 方法名称:transStringToMap
	 * 函数功能：把指定格式的字符串转为一维Map，一般情况字符串格式为Key->Value
	 * 传入参数:mapString 形如 username:admin||password:123456
	 * 返回值:Map
	*/
	public static Map<String, Object> stringToMap(String mapString){
	  Map<String, Object> map = new HashMap<String, Object>();
	  java.util.StringTokenizer items;
	  for(StringTokenizer entrys = new StringTokenizer(mapString, "||");entrys.hasMoreTokens(); 
	    map.put(items.nextToken(), items.hasMoreTokens() ? ((Object) (items.nextToken())) : null))
	      items = new StringTokenizer(entrys.nextToken(), ":");
	  return map;
	}

	


}
