我通過逐個放置值來創建一個HashMap。當我在每次迭代後打印hashmap時,所得到的散列表包含所有鍵的相同值。我不明白爲什麼會發生這種情況。我粘貼了下面的輸出HashMap值在所有鍵中被替換
HashMap(String,List(Object))mRestrictions;
for(int k = 0; k < jArr.length(); k++){
Log.d(TAG,"inner Key:- "+jArr.getString(k)+" Values:- "+jObj.get(jArr.getString(k)));
list.clear();
list.add(0,jObj.get(jArr.getString(k)));
//Log.d(TAG, "Existing List:- "+list);
mRestrictions.put(jArr.getString(k),list);
Log.d(TAG, "One by One Restrictions:- "+mRestrictions);
}
輸出: -
逐個限制: - {PROFILE_NAME = [測試1]}
逐個限制: - {PROFILE_NAME = [URL],網址= [URL}
逐個限制: - {PROFILE_NAME = [0],動作= [0],URL = [0]}
逐個限制: - {PROFILE_NAME = [證書],動作= [證書] ,authentication_type = [證書],你的L = [證書]}
逐個限制: - {PROFILE_NAME = [蘭芝斯],authentication_type = [蘭芝斯],用戶名= [蘭芝斯],動作= [蘭芝斯],網址= [蘭芝斯]}
這是什麼語言? Java的?請適當標記。 – duffymo
你能告訴我們'jArr'的定義嗎?這看起來可能是實現中的一個錯誤。 – templatetypedef
jArr是jsonArray,jArr: - [「profile_name」,「url」,「action」,「authentication_type」,「username」] –