java 这样的类型怎么遍历啊?

龙上 发布于 2014/06/15 20:36
阅读 442
收藏 2
public HashMap<Integer,HashMap<String,String>> u_scope = new HashMap<Integer, HashMap<String,String>>();

Iterator iter = this.u_scope.entrySet().iterator();
        while (iter.hasNext())
        {
            Map.Entry entry = (Map.Entry) iter.next();
            Object key = entry.getKey();
            Object val = entry.getValue();// 这个val怎么转hashmap对象啊?

}



加载中
0
hyanqing
hyanqing

或用foreach


for(Integer key : u_scope.keySet) {
HashMap<String,String> map = u_scope.get(key);
}
0
Altman
Altman
强制转换啊。。。
0
hyanqing
hyanqing
Iterator

这些跟上泛型

hyanqing
hyanqing
回复 @龙上 : 那你前面代码这么多泛型,自己网上看看泛型教程吧,基本知识点
龙上
龙上
不懂泛型什么意思啊。求代码.
0
一宁
一宁

HashMap map = (HashMap)val;即强制类型转换

0
畅想的杨海天
畅想的杨海天

HashMap<Integer,HashMap<String,String>> u_scope = new HashMap<Integer, HashMap<String,String>>();
Set<Integer> uskeyset=u_scope.keySet();
for(Integer key:uskeyset)
{
HashMap<String,String> hmap=u_scope.get(key);
}


这样用最新的方式遍历,不用迭代器,不过就是必须要有泛型

0
Lyuans
Lyuans
没搞懂 要用 entry 了 还用 iterator  ???  
0
pseudo
pseudo

引用来自“Lyuans”的评论

没搞懂 要用 entry 了 还用 iterator  ???  
用entry就可以了,使用for循环遍历map的entryset.
public HashMap<Integer,HashMap<String,String>> u_scope = new HashMap<Integer, HashMap<String,String>>();

for(Map.Entry<Integer,HashMap<String, String>> entry : u_scope.entrySet()) 
{
    Integer key = entry.getKey();
    HashMap<String, String> val = entry.getValue();
}
0
龙上
龙上
百度找到这样用得。我也不知道为什么要这样用
返回顶部
顶部