泛型数组使用的好处:
在我们编程的时候,当我们用到数组的时候,一般情况下每种数组就只能存储一个类型的数据,但是使用泛型数组,就可以在一个数组中存放,多种不同类型的数组,并且是在没有提前知道存储数据类型的情况下。
java中自带的泛型:Collection、List、Map和Set
List包含Vector、ArrayList、AbstractSequentialList
set包括HashSet、TreeSet
Map包括HashMap、TreeMap、HashTable
在java中有自带的泛型数组,ArraysList;他的引用为ArrayList<Stirng> a1=new ArrayList<>();
这样如果想往数组中添加元素,只需要调用a1.add("aa");就可以进行添加了,也可以调用a1.get(i)读取元素。
自制泛型数组
public class ArrayList2<E>{
private E[] arr=(E[])new Object[20];//不支持new E[]需要强转
private int flag=0;
public void add(E x){
arr[flag]=x;
flag++;
}
}
public class Test{
ArrayList2<E> num=new ArrayList2<>();//其中E可以放任何类型的类。
}
有一点是需要注意的就是<>中是不可以存放基本类型的,八大基本类型都不可放进去。但是如果想使用基本类型的数组,那可以在<>中放基本类型对应的包装器;如int--integer;long--Long