java global map_【已解决】Android中用Java的HashMap的遍历

本文讲述了如何使用Iterator遍历Android中的HashMap,通过实例展示了如何检查并替换HashMap中值为特定列表的键值对,最后得出结论:遍历HashMap时,Iterator是有效的方法。
摘要由CSDN通过智能技术生成

【背景】

想要用Iterator去遍历android中的HasMap。

【折腾过程】

1.参考:

去试试,

2.另外,也可以参考之前:

所看到的那个Enumerated,去试试效果。

结果发现Enumerated是个自己定义的类,所以算了。

还是用之前的Iterator吧。

3.后来用相关代码:protected static Map globalDefineMap = new Hashtable(); // holds the globalDefineMap

String defineId = "";

defineId = defineMacro.getText();

globalDefineMap.put(defineId, args );

/* process for special case:

* #define A B

* #define B C

*/

//for above args is list: [definedContent]

//so here generate a fake list: [defineId]

//for later to compare exist or not

List curDefineIdList = new ArrayList();

curDefineIdList.add(defineId);

//check whether is: B is in previous found "#define A B"

if(globalDefineMap.containsValue(curDefineIdList)){

//Collection defineValueCollection = globalDefineMap.values();

//Iterator defineValueIter = defineValueCollection.iterator();

Iterator defineEntryIter = globalDefineMap.entrySet().iterator();

while (defineEntryIter.hasNext()) {

Map.Entry eachDefineEntry = (Map.Entry) defineEntryIter.next();

Object defineKey = eachDefineEntry.getKey();

Object defineVal = eachDefineEntry.getValue();

if(defineVal.equals(curDefineIdList)){

//replace old with new value

globalDefineMap.put(defineKey, args);

break;

}

}

}

即可。

【总结】

遍历HashMap的话,用Iterator即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值