黑马程序员技术交流社区
标题:
Map集合中的Entry<K,V>是怎么个回事啊,
[打印本页]
作者:
李晓俊老师
时间:
2012-2-27 18:19
标题:
Map集合中的Entry<K,V>是怎么个回事啊,
它也是集合么,那是Set还是Map啊
作者:
杨盼
时间:
2012-2-27 19:01
对于Map接口来说本身不能进行迭代(如Iterator、foreach)进行输出,因为Map接口存放一对值,而Iterator每次只能找到一个值,所以要想使用迭代输出则要按下面的步骤:
1、将Map接口的实例通过entrySet()方法变为Set接口对象
2、通过Set接口实例化为Iterator实例化
3、通过Iterator迭代输出,每个内容都是Map.Entry对象
4、通过Map.Entry进行Key—>value的分离
Map.Entry是接口,Map中数据都是通过Map.Entry保存的,看个例子吧(以Iterator输出为例)
import java.util.HashMap ;
import java.util.Map ;
import java.util.Set ;
import java.util.Iterator ;
public class IteratorDemo04{
public static void main(String args[]){
Map<String,String> map = null; // 声明Map对象,其中key和value的类型为String
map = new HashMap<String,String>() ;
map.put("mldn","www.mldn.cn") ; // 增加内容
map.put("zhinangtuan","www.zhinangtuan.net.cn") ; // 增加内容
map.put("mldnjava","www.mldnjava.cn") ; // 增加内容
Set<Map.Entry<String,String>> allSet = null ;
allSet = map.entrySet() ;
Iterator<Map.Entry<String,String>> iter = null ;
iter = allSet.iterator() ;
while(iter.hasNext()){
Map.Entry<String,String> me = iter.next() ;
System.out.println(me.getKey() + " --> " + me.getValue()) ;
}
}
};
复制代码
作者:
王--明
时间:
2012-2-27 19:24
从所周知Map集合都是以键值对出现的。
Map集合的两种取出方式:
1:Set<k> keySet;将Map中所有的键存入到Set集合中,因为Set中有迭代器,
所以可以迭代方式,取出所有的键,在根据get方法,获取每一个键对应的
2: Map集合的取出原理;将Map集合转成Set集合,在通过迭代器取出。
Set<Map.Entry<k,v>> entrySet;将Map集合中的映射关系存到Set集合中,
而这个关系的数据类型就是Map.Entry<k.v>
getKey() -->返回与此项对应的键。
getValue() --> 返回与此项对应的值。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2