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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 刘茂林 于 2013-5-15 23:11 编辑
  1. import java.util.*;
  2. public class MapDemo1
  3. {
  4.     public static void sop(Object obj)
  5.     {
  6.         System.out.println(obj);
  7.     }
  8.     public static void main(String[] args)
  9.     {
  10.         Map<String,String> map = new HashMap<String,String>();
  11.         map.put("02", "zhangsan02");
  12.         map.put("01", "zhangsan01");
  13.         map.put("03", "zhangsan03");
  14.         map.put("04", "zhangsan04");
  15.         //现获取map集合中所有Set集合,keySet()
  16.         Set<String> keySet = map.keySet();
  17.         //有了 Set集合,就可以获取器迭代器。
  18.         Iterator<String> it = keySet.iterator();//迭代器也要泛型
  19.         
  20.         while(it.hasNext())
  21.         {
  22.             String key = it.next();
  23.             //有了键可以通过map集合中get方法获取其对应的值
  24.             String Value = map.get(key);
  25.             sop("key:" + key + " Value:" + Value);
  26.             
  27.             
  28.             
  29.         }
  30.     }

  31. }
复制代码
Map<String,String> map = new HashMap<String,String>();   这里是用到了多态把。。为什么在这里要用到呢?  就用HashMap<String,String> map = new HashMap<String,String>();  不行么?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1

查看全部评分

7 个回复

倒序浏览
这个其实随便你自己吧, 两种写法都差不多!!!
回复 使用道具 举报
当然可以了!Map是一个接口,HashMap是Map的一个实现类。将子类对象赋给父类对象当然是可以的。
回复 使用道具 举报
可以啊,但是如果你以后不想用HashMap了,你可能只需要改一个地方那就是Map<String,String> map = new Hashtable<String,String>();你只需要改它(Map)的实现,而不需要改其它的。
给你举个例子吧,电脑上的usb接口你应该很熟悉吧,为什么我们什么样的U盘插上都能用呢?不管是金士顿的还是台电的我们只需要即插即用,这是为什么呢?所有的usb接口都有一个标准,什么usb1.0,usb2.0啊,这都是标准,你生产U盘的厂家只要按照这套标准去生产就行了,凡是满足了这套标准的U盘,我们都可以用。但是你这样想,如果联想电脑的usb接口只能使用联想的u盘,那是个什么结果?那我们不就成了联想的奴隶。当我们想换个别的u盘的时候,还需要换台电脑,呵呵,现在你对照着你的题目想想多态的好处。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1

查看全部评分

回复 使用道具 举报
两种方法都一样,多态的好处就是,在变动时候修改代码会少些。这就是面向对象的好处。呵呵。
回复 使用道具 举报
它们两个在这里的作用是一样的,写哪一个都行,只是在以后的修改中,前面的要比后面更为方便。
回复 使用道具 举报
写两个都可以的
回复 使用道具 举报
SOAR 发表于 2013-5-15 21:54
可以啊,但是如果你以后不想用HashMap了,你可能只需要改一个地方那就是Map map = new Hashtable();你只需 ...

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