黑马程序员技术交流社区

标题: 关于Map.Entry和Entry [打印本页]

作者: 黑马张英涛    时间: 2013-1-26 12:33
标题: 关于Map.Entry和Entry
本帖最后由 黑马张英涛 于 2013-1-26 14:05 编辑

他们都是什么?有什么关系?
  1. public static void main(String[] args) {
  2.                 HashMap<String, Integer> maps = new HashMap<String, Integer>();
  3.                 maps.put("aaa", 11);
  4.                 maps.put("bbb", 13);
  5.                 maps.put("ccc", 12);
  6.                 Set<Map.Entry<String, Integer>> entrySet = maps.entrySet();
  7.                 for (Map.Entry<String, Integer> entry : entrySet) {
  8.                         System.out.println("key:" + entry.getKey() + "----" + "value:"
  9.                                         + entry.getValue());
  10.                 }
  11.                 for (Entry<String, Integer> entry : entrySet) {
  12.                         System.out.println("key:" + entry.getKey() + "----" + "value:"
  13.                                         + entry.getValue());
  14.                 }
  15.         }
复制代码
用法上没区别吧?

作者: 杨世平    时间: 2013-1-26 13:01
  1. package dao;


  2. public class Test2 {
  3.         public static void main(String[] args) {
  4.                  
  5.         java.util.HashMap<String, Integer> maps = new java.util.HashMap<String, Integer>();

  6.         maps.put("aaa", 11);

  7.         maps.put("bbb", 13);

  8.         maps.put("ccc", 12);

  9.         java.util.Set<java.util.Map.Entry<String, Integer>> entrySet = maps.entrySet();
  10.         for (java.util.Map.Entry<String, Integer> entry : entrySet) {

  11.             System.out.println("key:" + entry.getKey() + "----" + "value:"

  12.                             + entry.getValue());

  13.     }

  14.         for (java.util.Map.Entry<String, Integer> entry : entrySet) {

  15.                 System.out.println("key:" + entry.getKey() + "----" + "value:"

  16.                                 + entry.getValue());

  17.         }


  18. }
  19. }
  20.      
复制代码
[/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