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; } }