集合
双列集合:Map
Map集合是以键值对的形式存储数据的(key,values),结合数学里面的映射关系记忆,每一个key代表一个值,但是key不可以重复,就像单列集合中Set一样不可以重复,所以keyset()方法的返回值是Set类型的,所以接收key的返回值是Set集合。而Map集合中的值是可以重复的,所以values()返回的是Collection类型的。
在Map中如果想要实现遍历,有三种方式,
1是遍历所有的key ,前面提到key是不可以重复的用set集合来接收,所以用到的方法就是keySet();`
//keySet() 获取所有的key形式一个单列集合---Set
Set set = map.keySet();
//获取迭代器对象
Iterator it = set.iterator();
while(it.hasNext()) {
Object key = it.next();
Object val = map.get(key);
System.out.println(key+"="+val);
}
2是遍历所有的值,值的返回值类型是Collection类型,所以可以直接使用迭代器(iterator)来遍历.
//values()获取所有的值形成一个单列集合--Collection
Collection coll = map.values();
//获取迭代器对象
Iterator it = coll.iterator();
3是key和values都遍历,需要用到entryset();可以理解为entry通过一种算法实现了对key和values的打包,使两者都可以被遍历;
//获取映射关系对应的集合
Set set = map.entrySet();
//获取对应的迭代器
Iterator it = set.iterator();
//该对象中包含了对应的key和value的关系
Map.Entry entry = (Map.Entry)it.next();