Java中的map类型如何遍历
例如:
HashMap<String, Object>map=new HashMap<String, Object>();
for(int i=0;i<15;i++){
map.put("key_x"+i,"你好"+i);
}
//如何遍历map
例如:
HashMap<String, Object>map=new HashMap<String, Object>();
for(int i=0;i<15;i++){
map.put("key_x"+i,"你好"+i);
}
//如何遍历map
解决方案 »
- spring在Action获得session和request问题
- myeclipse调试servlet和jsp调试时候出现如图
- 启动Orcale服务后,为啥Tomcat服务启动出错
- jsp项目如何打包成安装文件
- 无法生成cookie问题
- tomcat 运行一段时就后就会报The server encountered an internal error () that prevented it from fulfilling this request 错误
- 求助ejb3持久化
- 我初学JAVA,现有段代码看不懂,请兄弟姐妹们帮帮忙给我写注释吧!
- 来看普通的JDBC程序,进来讨论,我极其迷惑,认为就interface竟然可以实例化产生对象!
- 关于Entity Bean开发,侧重对数据库操作,该采用什么方式开发?大家讨论!给分!!!
- struts2的sx:tabbedpanel问题
- 急!StringReader读取字符串时长度不够的问题
Iterator<Object> l = c.iterator();
while (l.hasNext()) {
System.out.println(l.next());
}
//通过key来遍历
Map m = new HashMap();
Set set = m.entrySet();
Iterator i = set.iterator();
while(i.hasNext()) {
m.get(i.next()) ;
}
Map m = new HashMap();
for(Object o : map.keySet()){
map.get(o);
}
API上是这么说的
返回Set<Map.Entry<K,V>>
entrySet()返回此映射所包含的映射关系的 collection 视图。
这么写应该就行了
Set<Map.Entry<String, Object>> mapEntrySet = map.entrySet();
for(int i=0;i<mapEntrySet.size();i++){
......
}
for(int i=0;i<15;i++){
map.put("key_x"+i,"你好"+i);
}
//通过key来遍历
Set set = map.entrySet();
Iterator i = set.iterator();
while(i.hasNext()) {
System.out.println("**"+map.get(i.next())+"******");
}2楼,这样执行后的结果是:**null******
**null******
**null******
**null******
你刚才试过没有,在看看
for(Map.Entry<String, String> entry:map.entrySet()){
System.out.println(entry.getKey()+":"+entry.getValue());
}
第一种:效率高
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}第二种:效率低
Map map = new HashMap();
Iterator iter = map.keySet().iterator();
while (iter.hasNext()) {
Object key = iter.next();
Object val = map.get(key);
}
for(Object o:map){
system.out.print(o.getKey);
system.out.println(o.getValue());
}
System.out.println(str + " : " + map.get(str));
} for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
import java.util.*;public class MapTraverse {
public static void main(String[] args) {
String[] str = {"I love you", "You love he", "He love her", "She love me"};
Map<Integer, String> m = new HashMap();
for(int i=0; i<str.length; i++) {
m.put(i, str[i]);
}
System.out.println("下面是使用useWhileSentence()方法输出的结果:");
useWhileSentence(m);
System.out.println("下面是使用useWhileSentence2()方法输出的结果:");
useWhileSentence2(m);
System.out.println("下面是使用useForSentence()方法输出的结果:");
useForSentence(m);
}
public static void useWhileSentence(Map<Integer, String> m) {
Set s = (Set<Integer>)m.keySet();
Iterator<Integer> it = s.iterator();
int Key;
String value;
while(it.hasNext()) {
Key = it.next();
value = (String)m.get(Key);
System.out.println(Key+":\t"+value);
}
}
public static void useWhileSentence2(Map m) {
Set s = m.entrySet();
Iterator<Map.Entry<Integer, String>> it = s.iterator();
Map.Entry<Integer, String> entry;
int Key;
String value;
while(it.hasNext()) {
entry = it.next();
Key = entry.getKey();
value = entry.getValue();
System.out.println(Key+":\t"+value);
}
}
public static void useForSentence(Map<Integer, String> m) {
int Key;
String value;
for(Map.Entry<Integer, String> entry : m.entrySet()) {
Key = entry.getKey();
value = entry.getValue();
System.out.println(Key+":\t"+value);
}
}
}http://blog.csdn.net/tsyj810883979/article/details/6746274