黑马程序员技术交流社区
标题:
关于Map.Entry和Entry
[打印本页]
作者:
黑马张英涛
时间:
2013-1-26 12:33
标题:
关于Map.Entry和Entry
本帖最后由 黑马张英涛 于 2013-1-26 14:05 编辑
他们都是什么?有什么关系?
public static void main(String[] args) {
HashMap<String, Integer> maps = new HashMap<String, Integer>();
maps.put("aaa", 11);
maps.put("bbb", 13);
maps.put("ccc", 12);
Set<Map.Entry<String, Integer>> entrySet = maps.entrySet();
for (Map.Entry<String, Integer> entry : entrySet) {
System.out.println("key:" + entry.getKey() + "----" + "value:"
+ entry.getValue());
}
for (Entry<String, Integer> entry : entrySet) {
System.out.println("key:" + entry.getKey() + "----" + "value:"
+ entry.getValue());
}
}
复制代码
用法上没区别吧?
作者:
杨世平
时间:
2013-1-26 13:01
package dao;
public class Test2 {
public static void main(String[] args) {
java.util.HashMap<String, Integer> maps = new java.util.HashMap<String, Integer>();
maps.put("aaa", 11);
maps.put("bbb", 13);
maps.put("ccc", 12);
java.util.Set<java.util.Map.Entry<String, Integer>> entrySet = maps.entrySet();
for (java.util.Map.Entry<String, Integer> entry : entrySet) {
System.out.println("key:" + entry.getKey() + "----" + "value:"
+ entry.getValue());
}
for (java.util.Map.Entry<String, Integer> entry : entrySet) {
System.out.println("key:" + entry.getKey() + "----" + "value:"
+ entry.getValue());
}
}
}
复制代码
[/code]{:soso_e124:}你的Entry导入的是不是java.util.Map.entry;
如果是的话其实你用的是同一个类......
你的Map.entry导入的是java.util.Map;
entry是Map中的一个方法吧...
所以是没差的.你如果按老师第一天教的导入写的话你是一点差别都没的
上面是我还原的。。
作者:
黑马张英涛
时间:
2013-1-26 14:04
本帖最后由 黑马张英涛 于 2013-1-26 14:07 编辑
对哦,是同一个。看了下API .Entry是Map中的一个接口。。。
interface Map...{
static interface Entry{
...........
}
}
作者:
王晓斌
时间:
2013-1-26 14:36
本帖最后由 王晓斌 于 2013-1-26 14:45 编辑
楼主,如果你导入的不是java.util.Map.Entry编译是通不过的,查看源码发现entry是map接口的内部接口,源码中是这样的~~~
public interface Map<K,V>{
interface Entry<K,V>{
}
}
那么类似于内部类的访问规则,当我们需要实例化内部类对象时可以这样做 Outer.Inner in=new Outer.().new Inner()
对于此处的接口也必须这样做~~~
外部接口.内部接口
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2