Map中,屬性entryset用法

因為在 前一篇 ImageLoader 需要使用到 Auth token 來下載某個用戶的檔案的縮圖,所以需要透過 image loader 的 getExtraForDownloader 傳進 extra, extra 是一個 object, 傳進去前是一個dictionary (map 或 entry) 傳進去後,需要把把一個 entrySet 拆開來或直接轉換型別。

相關文章:
getExtraForDownloader
https://github.com/nostra13/Android-Universal-Image-Loader/blob/4c728792d73e964f6d8501f742cda57dd56731c6/library/src/main/java/com/nostra13/universalimageloader/core/decode/BaseImageDecoder.java


Map<String, String> map =  new  HashMap<String, String>();
map.put( "AA" ,  "aa" );
map.put( "BB" ,  "bb" );
map.put( "CC" ,  "cc" );
map.put( "DD" ,  "dd" );


// 返回此映射中包含的映射關係的Set集合
Set<Entry<String, String>> set = map.entrySet();
for (Entry<String, String> entry: set)
{
    //每個Entry就是map中一個key及其它對應的value被重新封裝的對象
    System.out.println(entry.getKey() +  " "  + entry.getValue());
}

Java introspection: object to map
http://stackoverflow.com/questions/6796187/java-introspection-object-to-map

 

public Map<String, Object> getMap(Object o) {
    Map<String, Object> result = new HashMap<String, Object>();
    Field[] declaredFields = o.getClass().getDeclaredFields();
    for (Field field : declaredFields) {
        result.put(field.getName(), field.get(o));
    }
    return result;
}

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *