java如何遍历Map map = new HashMap();,maphashmap
java如何遍历Map map = new HashMap();,maphashmap
1、第一种
Map <String, ArrayList> map =
new
HashMap <String, ArrayList>();
Set<String> keys = map.keySet();
Iterator<String> iterator = keys.iterator();
while
(iterator.hasNext()) {
String key = iterator.next();
ArrayList arrayList = map.get(key);
for
(Object o : arrayList) {
...
}
}
2、第二种
Map <String, ArrayList> map = new HashMap <String, ArrayList>();
for(int i=0;i<10;i++){
ArrayList<String> lists=new ArrayList<String>();
for(int j=0;j<5;j++)
lists.add(j+"");
map.put(i+"", lists);
}
for(int i=0;i<map.size();i++){
ArrayList<String> lists=(ArrayList<String>)map.get(i+"");
for(int j=0;j<lists.size();j++)
System.out.print(lists.get(j));
}
3、第三种
既然使用了泛型,那 Map 中的值也应该用泛型,可以改为 List<String>
用 foreach 的方式如下:
1 2 3 4 5 6 7 8 9 10 |
Map<String, List<String>> map = new HashMap <String, List<String>>();
map.put(...);
for (Map.Entry<String, List<String>> entry : map.entrySet()) {
String key = entry.getKey();
List<String> values = entry.getValue();
for (String value : values) {
System.out.println(key + " --> " + value);
}
}
|
4、第四种
Set<Map.Entry<String,ArrayList>> s = m.entrySet();
Iterator it = s.iterator();
while (it.hasNext())
{
Map.Entry e = (Map.Entry)it.next();
System.out.println(e.getKey());
ArrayList list = e.getValue();
for (int i = 0;i<list.size();i++) {
System.out.println(list.get(i));
}
}
5、看你有没有特殊的需要了,如果只是循环的话可以考虑foreach或者Iterator ,如果想每隔几个处理一下或者其他什么的话,就需要for循环了,可以控制更多的事情,但是速度就没有foreach和interator快了
相关文章
- 暂无相关文章
用户点评