泛型的使用(List,Map,Set)

Java 泛型的参数只可以代表类,不能代表个别对象。由于 Java 泛型的类型参数之实际类型在编译时会被消除,所以无法在运行时得知其类型参数的类型。Java 编译器在编译泛型时会自动加入类型转换的编码,故运行速度不会因为使用泛型而加快。Java 允许对个别泛型的类型参数进行约束,包括以下两种形式(假设 T 是泛型的类型参数,C 是一般类、泛类,或是泛型的类型参数):T 实现接口 I 。T 是 C ,或继承自 C 。

注:

              在类上声明的泛型不能够用在static修饰的方法上

 

       List的用法:

 

Code:
  1. List<String> list=new ArrayList<String>();//创建List对象   
  2.   
  3.        //向list中添加值   
  4.   
  5.        list.add("aa0");   
  6.   
  7.           
  8.   
  9.        list.add("aa1");   
  10.   
  11.           
  12.   
  13.        list.add("aa2");   
  14.   
  15.           
  16.   
  17.        list.add("aa3");   
  18.   
  19.        //创建迭代器    第一种方法   
  20.   
  21.        Iterator<String> it=list.iterator();   
  22.   
  23.           
  24.   
  25.        while(it.hasNext()){   
  26.   
  27.               
  28.   
  29.            String value=it.next();   
  30.   
  31.               
  32.   
  33.            System.out.println(value);   
  34.   
  35.        }   
  36.   
  37.        //第二种方法   
  38.   
  39.        for(String value:list){   
  40.   
  41.            System.out.println(value);   
  42.   
  43.        }   
  44.   
  45.     
  46.   

      Map的用法:

Code:
  1. 第一种使用方法:   
  2.   
  3.     
  4.   
  5.        Map<Integer, String> map=new HashMap<Integer, String>();   
  6.   
  7.           
  8.   
  9.        map.put(1"ss1");   
  10.   
  11.           
  12.   
  13.        map.put(2"ss2");   
  14.   
  15.           
  16.   
  17.        map.put(3"ss3");   
  18.   
  19.           
  20.   
  21.        Set<Integer> set=map.keySet();   
  22.   
  23.        //第一种输出方法   
  24.   
  25.        Iterator<Integer> it=set.iterator();   
  26.   
  27.           
  28.   
  29.        while(it.hasNext()){   
  30.   
  31.               
  32.   
  33.            int key=it.next();   
  34.   
  35.               
  36.   
  37.            System.out.println(key+"  "+map.get(key));   
  38.   
  39.        }   
  40.   
  41.        //第二种输出方法   
  42.   
  43.        for(Integer key:set){   
  44.   
  45.            System.out.println(key+"  "+map.get(key));   
  46.   
  47.        }   
  48.   
  49.     第二种使用方法:   
  50.   
  51.        //创建Map对象   
  52.   
  53.        Map<Integer, String> map=new HashMap<Integer, String>();   
  54.   
  55.           
  56.   
  57.        map.put(1"ss1");//添加Map的键值   
  58.   
  59.           
  60.   
  61.        map.put(2"ss2");   
  62.   
  63.           
  64.   
  65.        map.put(3"ss3");   
  66.   
  67.           
  68.   
  69.        Set<Map.Entry<Integer, String>> set = map.entrySet();   
  70.   
  71.     
  72.   
  73.        for (Map.Entry<Integer, String> entry : set) {   
  74.   
  75.               
  76.   
  77.            System.out.println(entry.getKey());   
  78.   
  79.           
  80.   
  81.            System.out.println(entry.getValue());   
  82.   
  83.        }   
  84.   

 

      Set的用法:

        

Code:
  1. Set set=new Set();   
  2.   
  3.    set.add("abc");   
  4.       set.add("cde");   
  5.       set.add("efg");   
  6.       set.add("fgh");      
  7.   
  8.   set.add("abc"); //重复的abc,set会自动将其去掉   
  9.   
  10.     
  11.   
  12.           
  13.   
  14.        Iterator<String> it=set.iterator();   
  15.   
  16.           
  17.   
  18.        while(it.hasNext()){   
  19.   
  20.               
  21.   
  22.            String value=it.next();   
  23.   
  24.               
  25.   
  26.            System.out.println(value);   
  27.   
  28.        }   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值