stl中Map的用法
JAVA
//假设key 为Integer型 value 为String ,具体自行定义
Map<Integer,String> map = new HashMap<Integer,String>();
放入数据:
map.put(1,"a");
map.put(2,"b");
map.put(3,"c");
根据key获取对应的value
map.get(1); //获取到对应key=1时的value=a
遍历方法1:keyset遍历
Iterator<String> iter = map.keySet().iterator();
while (iter.hasNext()) {
int key = iter.next();
String value = map.get(key);
}
//还有一种写法 用for each
for (String key : map.keySet()) {
String value = map.get(key);
}
遍历方法2:
Iterator<Entry<String, String>> iter = map.entrySet().iterator();
Entry<String, String> entry;
while (iter.hasNext()) {
entry = iter.next();
int key = entry.getKey();
String value = entry.getValue();
}
//同样的for each写法
for (Entry<String, String> entry: map.entrySet()) {
int key = entry.getKey();
String value = entry.getValue();
}
另外,在考虑效率方面,for each速度更快一点点,推荐使用for each写法来遍历。