A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈林阳 黑马帝   /  2011-9-19 21:22  /  1916 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Map.Entry  Entry是一个接口,是Map接口中的一个内部接口
请问下面这段代码为什么要这么定义呢,起什么作用呢
interface Map
{
public static interfce Entry
{
  public abstract Object getKey();
  public abstract Object getValue();
}
}
class HashMap implements Map
{
class Hahs implements Map.Entry
{
  public Object getKey(){}
  public Object getValue(){}
}
}

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

3 个回复

倒序浏览
黑马网友  发表于 2011-9-19 21:29:07
沙发
这个主要是起到对Map这种以键值对存储的类型进行遍历起到了作用.

举个具体的例子吧
HashMap<String,Integer> maps = new HashMap<String, Integer>();
  maps.put("zxx", 28);
  maps.put("lhm", 35);
  maps.put("flx", 33);
  
  Set<Map.Entry<String,Integer>> entrySet = maps.entrySet();
  for(Map.Entry<String, Integer> entry : entrySet){
   System.out.println(entry.getKey() + ":" + entry.getValue());

使用这个方法,你就可以不通过key取到map中的value,

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-20 08:09:12
藤椅
之所以会出现:Map.entry主要是因为map里面都是键值对,不利于遍历,所以java才给我们一个Map.entry为我们提供方便,其实它的作用就是更方便的存取map中的元素。你也不必深究,就像吃鸡蛋不需要知道鸡蛋是那只鸡下的。嘿嘿,话粗理不粗,别介意。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马