Syntax SugarなHashMapを作ってみた。

ワンライナーで初期化できるHashMapを作ってみた。

使い方は以下のとおり。(static import でmが必要になります。)

Map m = new SMap().puts(m("a","a"),m("b","b"),m("c","c"));	

//こっちのほうがありかな!?
Map m = new SMap(m("a","a"),m("b","b"),m("c","c"));       

全ソースはこんな感じ

package ikdnet;

import java.util.HashMap;

/**
 * 
 * @author kensir0u
 *
 */
public class SMap extends HashMap{
	/**
	 * 
	 * @param pairs
	 */
	public SMap(Pair... pairs) {
		for (Pair p: pairs) {
			super.put(p.key, p.value);
		}
	}
	/**
	 * 
	 *
	 * <DL>
	 * <DT><b>メソッド概要:</b></DT><DD>
	 * Return the instance.<BR>
	 * </DD><BR>
	 * </DL>
	 *
	 * @param key
	 * @param value
	 * @return
	 */
	public static Pair m(Object key,Object value) {
		return new Pair(key,value);
	}
	/**
	 * 
	 *
	 * <DL>
	 * <DT><b>メソッド概要:</b></DT><DD>
	 * Return the instance.<BR>
	 * </DD><BR>
	 * </DL>
	 *
	 * @param pair
	 * @return
	 */
	public SMap puts(Pair... pair) {
		for (Pair p: pair) {
			super.put(p.key, p.value);
		}
		return this;
	}

}
       
package ikdnet;

/**
 * 
 * @author kensir0u
 *
 */
public class Pair {
	Object key;
	Object value;
	private Pair(){}
	/**
	 * コンストラクタ
	 * @param key
	 * @param value
	 */
	public Pair(Object key,Object value) {
		this.key = key;
		this.value = value;
	}
}