我通过一个接一个地放置值来创建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\u name=[Test1]}
逐个限制:-{profile\u name=[url],url=[url}
一一限制:-{profile_name=[0], action=[0], url=[0]}
一一限制:-{profile_name=[证书], action=[证书],authentication_type=[证书], url=[证书]}
逐个限制:-{profile\u name=[ranjith],authentication\u type=[ranjith],username=[ranjith],action=[ranjith],url=[ranjith]}
list.clear();
list.add(0,jObj.get(jArr.getString(k)));
这并不像你想象的那样。Java按值传递引用。这一行清除已放在其他地方的列表。按照您编写的方式,只有一个列表将所有这些键映射到其中。
相反,每次都必须创建一个新列表。不能重复使用同一列表。
今天好,这有点让我迷惑(大脑冻结!)好像少了些什么。有一个我用HashMap填充的ArrayList。现在我放入了我的HashMap和ArrayList。 由于am解析JSON,arraylist的大小显著增加。现在我的问题是如何从ArrayList中的两个映射键中获得值?我试过这个 但我似乎不能得到所有的值。映射大小总是返回值2,这只是元素。如何从ArrayList中的映射键获取所有值?谢谢
因此,我有一个hashmap ,它存储每个字符串的arraylist。但是当我用ArrayList的新值添加另一对时,其他键值将被替换。因此,不同键的所有值都是相同的。 添加的第一个键: 对于第二个键,列表中有不同。但是,当添加第二个键(在put()方法之后)时,第一个键的值已经被替换。
关于下面的代码,我有两个问题, 1.我在哈希图中有两次键“二”,打印时,“二”只显示一次。为什么它没有显示“二”两次? 2.如何选择性地显示键“二”?
我需要一些帮助来替换HashMap中的值。HashMap包含每个键的多个值,这些值是从ArrayList中添加的。我想做的是替换键中的一个元素。例如,用户输入键1和索引2,这将是该键的值[1]=[A, B, C, D],索引2将是字母“C”,我想用“X”替换它,这样输出将是[1]=[A, B, X, D],这将在一个同时循环中。 输出: 1 张 AB 光盘 2 张 AB 光盘 3 张 AB 光盘
我正在研究一种利用JSON中的替换函数参数的方法。Stringify在JavaScript中为了更改单词大小写(toTop /toLowercase),问题是我的JSON不是直键:value,有些值也是键,它们本身也有值,所以我需要遍历所有键和值,检查值是否也是键,并确保我更改所有键和值的大小写(toTop或toDown)。我知道JSON. Stringify(对象,Replace erFunct
主要目标是用hashmap中的值替换字符串中的一些单词作为关键字(关键字是文本中的单词)。钥匙的格式不同。例如:主文本:“Lookahead和Lookahead,统称为Lookahead,是[0-23]断言”hashmap:{Lookahead=test1,Lookahead=test2,Lookahead=test3,[0-23]=newvalue}预期输出:“test1和test2,统称为te