• 泛型简介


    泛型一般使用在集合上

    语法:

    集合<类型>,如List<String> list = new ArrayList<String>();

     在list上使用泛型:代码如下

     1 package com.泛型;
     2 
     3 
     4 import java.util.ArrayList;
     5 import java.util.Iterator;
     6 import java.util.List;
     7 
     8 import org.junit.Test;
     9 
    10 public class ListTest {
    11     @Test
    12     public void TestList(){
    13         List<String> list = new ArrayList<String>();
    14         list.add("aaa");
    15         list.add("bbb");
    16         list.add("ccc");
    17         
    18         //遍历集合的三种方式
    19         /**
    20          * 1、普通for循环
    21          */
    22         for(int i = 0;i<list.size();i++){
    23             System.out.println(list.get(i));
    24         }
    25         System.out.println("=================================");
    26         /**
    27          * 2、增强for循环
    28          */
    29         for (String string : list) {
    30             System.out.println(string);
    31         }
    32         System.out.println("=================================");
    33         /**
    34          * 3、迭代器
    35          */
    36         Iterator<String> iterator = list.iterator();
    37         while(iterator.hasNext()){
    38             System.out.println(iterator.next());
    39         }
    40 
    41 
    42     }
    43 }

    在set上使用泛型,同list,set是无序的、不可重复的。

    在map上使用泛型,代码如下:

     1 @Test
     2     public void mapTest(){
     3         Map<String,String> map = new HashMap<String,String>();
     4         map.put("aaa", "111");
     5         map.put("bbb", "222");
     6         map.put("ccc", "333");
     7         /**
     8          * 遍历map集合的第一种方法
     9          * 
    10          */
    11         Set<String> key = map.keySet();
    12         for (String string : key) {
    13             String value = map.get(string);
    14             System.out.println(string + "  "+value);
    15         }
    16         
    17         /**
    18          * 第二种方法
    19          */
    20         Set<Entry<String, String>> set= map.entrySet();
    21         for (Entry<String, String> entry : set) {
    22         String keyv =    entry.getKey();
    23         String valuev = entry.getValue();
    24         System.out.println(keyv +"  "+valuev);
    25         }
    26         
    27     }

    注意:在泛型里写的是个对象,不能写基本数据类型,写它的包装类。

    泛型方法:

    1、使用泛型方法需要定义一个类型,使用大写字母表示,通常使用T:这个T表示任意类型

    2、这个T写在返回值之前或者void之前

    代码如下:

     1 package com.泛型;
     2 
     3 import java.util.Arrays;
     4 
     5 import org.junit.Test;
     6 
     7 public class 泛型方法 {
     8     public <T> void swap(T [] arr,int a,int b){
     9         T temp = arr [a];
    10         arr [a] = arr [b];
    11         arr [b] = temp;
    12     }
    13     @Test
    14     public void arrTest(){
    15         Integer [] arr = {1,2,3,4,5};
    16         swap(arr, 2, 3);
    17         System.out.println(Arrays.toString(arr));
    18     }
    19 }
  • 相关阅读:
    npm ci命令解析
    performance分析
    mpvue 引入直播功能
    lodash按需加载
    React生命周期分析
    vue 项目打包优化(远不止dll)
    Git 底层数据结构和原理
    Docker 部署 Nuxt.js 项目
    TMS320DM642调试出现#10247-D creating output section ".capChaACrSpace" without a SECTIONS 解决办法
    TMS320DM642的emif(外部存储器接口)的结构设置
  • 原文地址:https://www.cnblogs.com/jiangjianzhu/p/5472175.html
Copyright © 2020-2023  润新知