/*
* map集合的两种 取出方式:(map没有迭代器方法)
* 1、Set<k> keySet:将map中的所有的键存入到Set集合,因为Set具备 迭代器。
* 所以可以迭代方式取出所有的键,再根据get方法,获取每一个键对应的值。
* Map集合的取出原理:将map集合转成set集合,再通过迭代器取出
* 2、Set<Map.Entry<k,v>> entrySet:将map集合中的映射关系存入到set集合中,
* 而这个关系的数据类型就是:Map.Entry
* map集合的两种 取出方式:(map没有迭代器方法)
* 1、Set<k> keySet:将map中的所有的键存入到Set集合,因为Set具备 迭代器。
* 所以可以迭代方式取出所有的键,再根据get方法,获取每一个键对应的值。
* Map集合的取出原理:将map集合转成set集合,再通过迭代器取出
* 2、Set<Map.Entry<k,v>> entrySet:将map集合中的映射关系存入到set集合中,
* 而这个关系的数据类型就是:Map.Entry
*/
package map概述;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/*
* Map.Entry 其实Entry也是一个接口,它是Map接口中的一个内部接口
*/
/*interface Map
{
public static interface Entry
{
public abstract Object getKey();
public abstract Object getValue();
}
}
class HashMap implements Map.Entry
{
class HaHa implements Map.Entry
{
@Override
public Object getKey() {
return null;
}
@Override
public Object getValue() {
return null;
}
}
//
// @Override
// public Object getKey() {
// return null;
// }
//
// @Override
// public Object getValue() {
// return null;
// }
}*/
public class Test {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("02", "zhangsan2");
map.put("03", "zhangsan3");
map.put("01", "zhangsan1");
map.put("04", "zhangsan4");
//方法1: 将Map集合中的映射关系取出,存入到Set集合中
Set<Map.Entry<String, String>> entrySet = map.entrySet();
Iterator<Map.Entry<String, String>> it = entrySet.iterator();
while(it.hasNext())
{
Map.Entry<String, String> me = it.next();
//关系对象Map.Entry获取到后,就可以通过Map.Entry中
//getKey和getValue方法获取关系中的键和值
String key = me.getKey();
String value = me.getValue();
System.out.println("key:"+key+"-->"+"value:"+value);
}
// 方法2:先获取map集合的所有键的Set集合,keySet().
Set<String> keySet = map.keySet();
// 有了Set集合,就可以获取其迭代器。
Iterator<String> it2 = keySet.iterator();
while (it2.hasNext()) {
String key = it2.next();
// 有了键 可以通过map集合的get方法获取其对应的值。
String value = map.get(key);
System.out.println("key:" + key + "-->" + value);
}
}
}