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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马张英涛 中级黑马   /  2013-1-26 12:33  /  1365 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马张英涛 于 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.         }
复制代码
用法上没区别吧?

3 个回复

倒序浏览
  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:07 编辑

对哦,是同一个。看了下API  .Entry是Map中的一个接口。。。
interface Map...{
    static interface Entry{
         ...........
    }
}
回复 使用道具 举报
本帖最后由 王晓斌 于 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()
对于此处的接口也必须这样做~~~
外部接口.内部接口
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马