码迷,mamicode.com
首页 > 其他好文 > 详细

Map的遍历及map的value值遍历及value转化为其它类型

时间:2015-01-30 16:17:25      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

先开始map的遍历:

Map<String, String> map = new HashMap<String, String>();
  map.put("1", "2");
  map.put("2", "4");
  map.put("3", "1");
  map.put("4", "3");

一、把key值放进set排序:(使用map.keySet();)--这个效率低(重复的获取value值导致)

Set<String> keySet = map.keySet();
for(String str:keySet){
   System.out.println(str+"--"+map.get(str));
}

或者使用iterator遍历

//while(keySet.iterator().hasNext()){//--注:千万不要懒省事,直接放在里面,会无限循环
   //String next = keySet.iterator().next();
   //System.out.println(next+"--"+map.get(next));
//}

Iterator<String> iterator = keySet.iterator();
while(iterator.hasNext()){
   String next = iterator.next();
   System.out.println(next+"--"+map.get(next));
}

当然,还可以使用普通的for循环--这个此处忽略

二、把map放到set里面遍历(使用map.entrySet())--这个效率高(直接把key、value遍历)

Set<Entry<String, String>> entrySet = map.entrySet();
for(Entry<String, String> ds:entrySet){
   System.out.println(ds.getKey()+"--"+ds.getValue());
}

或者使用iterator遍历

//while(entrySet.iterator().hasNext()){//--注:千万不要懒省事,直接放在里面,会无限循环
   //Entry<String, String> next = entrySet.iterator().next();
   //System.out.println(next.getKey()+"--"+next.getValue());
//}

Iterator<Entry<String, String>> iterator = entrySet.iterator();
while(iterator.hasNext()){
   Entry<String, String> next = iterator.next();
   System.out.println(next.getKey()+"--"+next.getValue());
}

三、按照value值集合遍历(缺点是仅仅可以遍历value值---不能遍历key值,有时有这需求)

Collection<String> values = map.values();
for(String s:map.values()){
   System.out.println(s
}

map的values--Collection<String> v = map.values(); 转化为数组或者List集合

Collection<String> values = map.values();

转化为List<String>:

List<String> l=new ArrayList<String>(map.values());
for(String s:l){
   System.out.print(s);
}

转化为数组

1.直接为Object[]数组

Object[] array = map.values().toArray();
for(Object s:array){
   System.out.print(s);
}

2.转化为value泛型的数组(此处为String[])

String[] strings = map.values().toArray(new String[map.size()]);
for(String s:strings){
   System.out.print(s);
}

 

Map的遍历及map的value值遍历及value转化为其它类型

标签:

原文地址:http://my.oschina.net/u/2297250/blog/373638

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!