代码:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapFor {
public static void main(String[] args) {
//创建一个map集合
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "a");
map.put(11, "a");
map.put(12, "hello");
map.put(999, "你好");
getFor1(map);
getFor2(map);
}
//遍历方法一
public static void getFor1(Map<Integer, String> map) {
// ketSet() : 将map集合中的所有key值获取到,放到一个set集合中
Set<Integer> set = map.keySet();
// 迭代器遍历方式
//循环将每一个key的值获取到,循环set集合
Iterator<Integer> it = set.iterator();
while (it.hasNext()) {
int key = it.next();
String value = map.get(key);
System.out.println(key+"---"+value);
}
// 增强for的遍历方式
for (int key : set) {
String value =map.get(key);
System.out.println(key+"++++++"+value);
}
}
//遍历方法二
public static void getFor2(Map<Integer, String> map) {
// 1. 使用map中方法,entrySet() : 获取到map集合中键值对映射关系对象的集合
Set<Map.Entry<Integer, String>> set = map.entrySet();
// 2. 将set集合中的每一个映射关系对象获取到
// 增强for的遍历方式
for (Map.Entry<Integer, String> entry : set) {
// 获取到映射关系中的key值
int key = entry.getKey();
// 获取到映射关系中的value值
String value = entry.getValue();
System.out.println(key+"********"+value);
}
// 3. 使用迭代器进行遍历
Iterator<Map.Entry<Integer, String>> it = set.iterator();
while (it.hasNext()) {
Map.Entry<Integer, String> entry = it.next();
int key = entry.getKey();
String value = entry.getValue();
System.out.println(key+"________"+value);
}
}
}
结果: