赞
踩
class MyArrayList<T> //T:代表占位符,表示当前这个类为泛型类
不能new 泛型类型的数组:this.elem = new T[10]; //error
this.elem = (T[])new Object[10];//new了一个新的数组,强转为泛型
泛型只存在于编译时期,是编译时期的一种机制
1.自动类型检查
2.自动类型转换
泛型在编译的时候 并不会进行指定类型的替换,而是拿着指定的类型进行检查
编译的时候会进行类型擦除,编译时会把泛型擦除为Object(具有了Object的特质),不是替换为Object
List<Integer> list= new ArrayList<>(); list.add(int data); //放置元素,放到数组末尾 list.add(int index,int data); //在指定位置放置元素 list.addAll(Arraylist);//把Arraylist全部拷贝进list iterator迭代器 Iterator<E> iterator = list.iterator(); while(iterator.hasNext()) { sout(iterator.next()); }
1.new ArrayList<>() 调用的是不带参数的构造方法,大小默认为0
2.当调用默认的的构造方法后,当添加第一个元素时,会进行扩容,第一次扩容时大小为10
3.后续进行扩容时,以1.5倍的方式进行扩容
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。