在刷题的时候发现ArrayList初始化时,有下面两种情况:
List<Integer> list = new ArrayList<>();
ArrayList<Integer> list = new ArrayList<>();
List是一个接口,而ArrayList是List接口的一个实现类
其实第一种写法也是创建了一个ArrayList实例对象。
两种在使用的时候是一样的,区别在于第一种方法的好处是,以后我们需要LinkedList的时候,
我们可以写
List<Integer> list = new LinkedList<>();
更改实例对象。
而第二种写法只能初始化ArrayList
list.add()方法:
- add(Element e),依次往后添加;
- add(Index i,Element e)。若索引位置没有值,则直接添加,若索引位置有值,则添加到索引位置,后边的元素依次往后移动。