如何定义2D列表

时间:2017-05-12 05:50:28

标签: java arrays list arraylist

在定义2D动态数组时,为什么我不能像这样定义它:

List<List<Integer>> t=new List<List<Integer>();

这样做,我得到一个错误说:

Cannot instantiate the type List<List<Integer>>

我开始知道这是最好的做法 -

List<List<Integer>> t=new Arraylist<List<Integer>>();  

为什么会如此。有人帮助我理解这一点。

2 个答案:

答案 0 :(得分:5)

List is an interface因此不能使用new来创建它的新实例,你需要实现它的类,例如ArrayList

List<List<Integer>> t=new ArrayList<List<Integer>>();

or since java 7
List<List<Integer>> t = new ArrayList<>();

答案 1 :(得分:0)

因为在Java中,List是一个接口,所以无法对其进行初始化。 你可以这样做;

List<t> list = new ArrayList<t>();

只需初始化任何实现List Interface

的类型