黑马程序员——java小结_014.001_map+泛型输出

来源:互联网 发布:javascript 在线测试 编辑:程序博客网 时间:2024/06/11 03:15

------- android培训、java培训、期待与您交流! ----------

    map+泛型输出和map输出基本一样,也是本身并不能直接为Iterator实例化,使用Iterator输出Map集合中内容的话,同样有两种方法,和不加泛型一样但是有略微的区别:

方法一:

1.通过entrySet方法变成Set对象

Set<Entry<Integer,String>> s = m.entrySet();

2.调用Set的Iterator方法,此时每个Iterator对象是Map.Entry对象

    Iterator<Entry<Integer,String>> it = s.iterator();

3.对Map.Entry分离出 key - value(这里不一样

    Entry<Integer,String> e = it.next();//用到了泛型,这里消除了强转!

 

方法二:

1.通过keySet得到Map集合多有key的Set集合

Set<Integer> set =m.keySet();

2.调用Set的Iterator方法,此时每个Iterator对象是key值

    Iterator<Integer>iter = set.iterator();

3.通过Map的getValue(key)得到value值

 

 

<span style="font-size:18px;">//泛型加Map的输出! import java.util.*; public class Demo {    public static void main(String[] args) {       Map<Integer, String> m = new TreeMap<Integer,String>();             m.put(1, "校长");       m.put(2, "老师");       m.put(3, "学生");             System.out.println(m);             //第一种方式,用到了entrySet方法       Set<Entry<Integer, String>> s = m.entrySet();       Iterator<Entry<Integer, String>> it =s.iterator();       while(it.hasNext()){           Entry<Integer, String> e = it.next();//用到了泛型,这里消除了 强转!           System.out.println(e.getKey()+"  "+e.getValue());       }                   //第二种方法,用到了keySet方法       Set<Integer> set = m.keySet();       Iterator<Integer> iter = set.iterator();       while(iter.hasNext()){           Integer i = iter.next();//直接写到输出语句,出错!           System.out.println(i+"  "+m.get(i));       }    }}</span>


 ------- android培训、java培训、期待与您交流! ----------


0 0
原创粉丝点击