Java基礎知識:如何取出Map中key和value的值
你是否已經對每次從Map中取得關鍵字然后再取得相應的值感覺厭倦?使用Map.Entry類,你可以得到在同一時間得到所有的信息。
標準的Map訪問方法如下:
Set keys = map.keySet( );
if(keys != null) {
Iterator iterator = keys.iterator( );
while(iterator.hasNext( )) {
Object key = iterator.next( );
Object value = map.get(key);
;…
;}
}
然后,這個方法有一個問題。從Map中取得關鍵字之后,我們必須每次重復返回到Map中取得相對的值,這是很繁瑣和費時的。
幸運的是,這里有一個更加簡單的途徑。Map類提供了一個稱為entrySet()的方法,這個方法返回一個Map.Entry實例化后的對象集。 接著,Map.Entry類提供了一個getKey()方法和一個getValue()方法,因此,上面的代碼可以被組織得更符合邏輯。舉例如下:
Set entries = map.entrySet( );
if(entries != null) {
Iterator iterator = entries.iterator( );
while(iterator.hasNext( )) {
Map.Entry entry =iterator.next( );
Object key = entry.getKey( );
Object value = entry.getValue();
;…
}
}
盡管增加了一行代碼,我們卻省略了許多對Map不必要的"get"調用。同時,提供給開發人員一個同時保持了關鍵字和其對應的值的類。Map.Entry同時也提供了一個setValue()方法,程序員可以使用它修改map里面的值。
Hashtable內部排列的方式是散列排布,所以當輸出信息時會是無序的。為了能保證輸出的數據按照順序排列,不要渴望用java自帶的函數來對 Hashtable對象進行調整處理。當我們獲取Hashtable里的KEY和VALUE時,一般都運行了Map.Entry類來轉換,好,現在就用這 個類來作文章,我具體寫了一個方法。
代碼:
/**
* 方法名稱:getSortedHashtable
* 參數:Hashtable h 引入被處理的散列表
* 描述:將引入的hashtable.entrySet進行排序,并返回
*/
public static Map.Entry[] getSortedHashtable(Hashtable h){
Set set = h.entrySet();
Map.Entry[] entries = (Map.Entry[])set.toArray(new Map.Entry[set.size()]);
Arrays.sort(entries,new Comparator(){
public int compare(Object arg0, Object arg1) {
Object key1 = ((Map.Entry)arg0)。getKey();
Object key2 = ((Map.Entry)arg1)。getKey();
return ((Comparable)key1)。compareTo(key2);
}
});
return entries;
}
調用這個方法:
Map.Entry[] set = getSortedHashtable(t);
//perportyTable
for (int i=0;i
時間:2013-06-22 責任編輯:admin
相關文章
無相關信息
主站蜘蛛池模板:
大兵相声小品蠢得死|
教育部全国青少年普法网答案|
萱草花二声部合唱谱|
索溪峪的野阅读及答案|
巩俐吻戏|
王者图片|
周超个人资料简介|
美国伦理小樱桃1|
唐人街探案5免费完整观看|
局外人电影|
叶玉卿电影|
刘涛的21部毛片|
女生宿舍1电影|
蓝眼泪简谱|
电影院电影|
1988年英国的白蛇传说|
《白蛇传说》|
夫妻的世界韩国电影|
张学明|
妈妈的朋友电影在线播放|
柿柿红红岁岁年电视剧演员表|
乙亥北行日记|
电影《很差劲》在线观看|
张少|
中央6套|
电影哪吒闹海|
没有下巴|
植田圭辅|
星武神诀|
她回来了|
内蒙古电视台节目表|
街女电影|
疯狂 电影|
凌晨晚餐|
葫撸娃|
敦煌夜谭在线观看|
电影田螺姑娘|
科洛弗|
外貌协会face日本动漫|
封顶仪式|
何时是读书天|