1、List
首先List是一个接口,不可以被构造,也就是说
List<Integer> lis=new List<>();
是错误的。但是可以借助创建一个ArrayList的对象后把上溯到List。如下所示是正确的,但是这样相当于创建了一个List对象,有些ArrayList的功能是无法使用的。
List<Integer> lis=new ArrayList<>();
List<List<Integer>> lis=new ArrayList<>();
2、ArrayList
ArrayList是List接口的一个实现类,因此可以被构造。但是一般使用
List<Integer> list=new ArrayList<>();
而不使用
ArrayList<Integer> list=new ArrayList<Integer>();
问题就在于List有多个实现类,现在你用的是ArrayList,也许哪一天你需要换成其它的实现类,如 LinkedList或者Vector等等,这时你只要改变这一行就行了: List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动。
假设你开始用 ArrayList alist = new ArrayList(), 这下你有的改了,特别是如果你使用了 ArrayList特有的方法和属性。
add方法
待续。。。