黑马程序员技术交流社区
标题:
Map.EntrySet问题
[打印本页]
作者:
杨丽静
时间:
2013-11-19 16:14
标题:
Map.EntrySet问题
这段代码是在看视频的过程中看到的非常的不理解还望赐教
interface Map
{
public static interface Entry
{
public abstract Object getKey();
public abstract Object getValue();
}
}
class HashMap implements Map
{
class Hah implements Map.Entry
{
@Override
public Object getKey()
{
// TODO Auto-generated method stub
return null;
}
@Override
public Object getValue()
{
// TODO Auto-generated method stub
return null;
}
}
}
作者:
简★零度
时间:
2013-11-19 17:04
这段代码是在看视频的过程中看到的非常的不理解还望赐教
interface Map//接口
{
public static interface Entry
{
public abstract Object getKey();//键的抽象类
public abstract Object getValue();//值的抽象类
}
}
class HashMap implements Map//继承
{
class Hah implements Map.Entry
{
@Override//重写键类
public Object getKey()
{
// TODO Auto-generated method stub
return null;
}
@Override//重写值类
public Object getValue()
{
// TODO Auto-generated method stub
return null;
}
}
}我也不知道你问的是什么,这个是我的理解。
作者:
ReFly
时间:
2013-11-19 23:48
本帖最后由 ReFly 于 2013-11-19 23:51 编辑
这个题没办法去理解代码的细节。因为它只是一种很舒服的设计模式,让map可以方便的遍历。
首先说Map类里定义了内部接口。叫Map.Entry表示一对键值对。这是一种设计模式,因为只有Map集合里才会出现键值对这种情况。就在Map类中设计了一个内部接口。只有Map这种成对出现的类,设计个键值对表示每对键值对的内在联系。这种设计很贴切Map的特点。
而在所有的非抽象的Map子类中,需要去实现这个内部接口。使得形成一个内部类。
内部类实现后只能用通过 map集合对象调用 .entrySet();方法获得所有的键值对对象,存入set集合中。
所有的键值对对象在调用此内部类的方法(.getKey(),getValue()),就能很好的获得具体的健与值。
更明白的话可以适当看看源码。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2