1.keySet()方法
key()方法返回键(key)的Set集合,再者通过foreach/迭代器iterator进行遍历,最后通过Map集合的get()方法,来获取值。
Map<Integer, String> m = new HashMap<>();
//创建Map集合,并用put()方法进行增加键值对
m.put(1, "张三");
m.put(2, "李四");
m.put(3, "王五");
//Set集合内的数据类型为Map集合K键的数据类型
Set<Integer> s = m.keySet();
//通过增强for进行遍历
for(Integer i :s){
System.out.println(i+"-"+m.get(i));
}
//通过迭代器进行遍历
Iterator<Integer> it = s.iterator();
//通过迭代器的hasNext()来判断是否还有下一个数据,next()进行获取当前值并进行指针的位移
while(it.hasNext()){
Integer i = it.next();
System.out.println(i+"-"+m.get(i));
}
2.entrySet()方法
Map集合的entrySet方法返回Set集合,entry为Map的内部嵌套接口,enterySet()会返回entry接口的实例化对象。
Map<Integer, String> m = new HashMap<>();
//创建Map集合,并用put()方法进行增加键值对
m.put(1, "张三");
m.put(2, "李四");
m.put(3, "王五");
//通过entrySet()返回set集合,Set集合内的数据类型为Map内部接口entry接口的实例化对象
Set<Map.Entry<Integer, String>> s = m.entrySet();
//通过增强for进行遍历
for(Map.Entry<Integer, String> i:s){
System.out.println(i.getKey()+" "+i.getValue());
}
//通过iterator迭代器进行遍历
Iterator<Map.Entry<Integer, String>> it = s.iterator();
while(it.hasNext()){
Map.Entry<Integer, String> i = it.next();
System.out.println(i.getKey()+" "+i.getValue());
}