map 乙個key對應乙個value,它可以滿足大部分需求。但有時我要用到乙個key對應多個value怎麼辦?
1.普通做法
map> map=new hashmap<>();
2.apache commons工具包裡有個org.apache.commons.collections.map.multivaluemap。
3.開源專案nohttp裡的multivaluemap。
public inte***ce multivaluemap.
*/set>> entryset();
/*** 拿到某乙個key下的某乙個值。
** @param key key.
* @param index index value.
* @return the value.
*/v getvalue(k key, int index);
/*** 拿到某乙個key下的第乙個值。
** @param key key.
* @return the value.
*/v getfirstvalue(k key);
/*** 拿到某乙個key下的所有值。
** @param key key.
* @return values.
*/listgetvalues(k key);
/*** 拿到multivaluemap的大小.
** @return size.
*/int size();
/*** 判斷multivaluemap是否為null.
** @return true: empty, false: not empty.
*/boolean isempty();
/*** 判斷multivaluemap是否包含某個key.
** @param key key.
* @return true: contain, false: none.
*/boolean containskey(k key);
}
public class basicmultivaluemapimplements multivaluemap
@override
public void add(k key, v value)
@override
public void add(k key, listvalues)
@override
public void set(k key, v value)
@override
public void set(k key, listvalues)
@override
public listremove(k key)
@override
public void clear()
@override
public setkeyset()
@override
public listvalues()
return allvalues;
}@override
public listgetvalues(k key)
@override
public v getfirstvalue(k key)
@override
public set>> entryset()
@override
public v getvalue(k key, int index)
@override
public int size()
@override
public boolean isempty()
@override
public boolean containskey(k key)
public map> getsource()
}
public class linkedmultivaluemapextends basicmultivaluemap
}
測試
public class test
}}
總結:
1.普通方法,原始操作、不好維護、不可復用、不可拓展 。
2.需要引入jar包。
3.對普通方法進行封裝復用。推薦使用。
乙個ViewController對應多個Xib
比例係數開發的大概步驟 1.選著乙個尺寸作為開發設計的基準 2.制定其他螢幕的適配規則 3.特殊的適配給出具體的效果圖 例如攜程的比例係數 5 autosizescalex 1 autosizescaley 1 6 autosizescalex 1.171875 autosizescaley 1.1...
通過Value獲取JSON中對應的KEY
public static string read string txtname,string apiname string json 建立輸入流,讀取excel inputstream is new fileinputstream filename.getabsolutepath jxl提供的wo...
關於乙個Action對應多個Form
由於乙個action可以用多個path來訪問,所以我們可以通過在struts config.xml中配置一下action來達到乙個action來對應多個form。下面是乙個action對應多個form的 struts config.xml的配置 type com.mac.struts.form.in...