嵌套list的实例化

在LeetCode上遇到这样返回值

public class Solution {
public List<List<Integer>> levelOrder(TreeNode root) {
}
}
List<List<Integer>>

即List的内容是List的类型,直接使用List<List<Integer>> list = new List<List<Integer>>()是错的,因为List是接口,不能实例化(Cannot instantiate the type List<List<Integer>>)。

但如果使用

1 List<List<Integer>> list = new LinkedList<LinkedList<Integer>>();

又会报错(cannot convert from LinkedList<LinkedList<Integer>> to List<List<Integer>>),

正确的做法是修改成:

1 List<LinkedList<Integer>> list = new LinkedList<LinkedList<Integer>>();
3 或
5 List<List<Integer>> list = new LinkedList<List<Integer>>();
这样才可以,也就是说,泛型的类型参数必须相同。

下面这种处理

1 ArrayList<ArrayList<String>> list= new ArrayList<ArrayList<String>>();
2 或
3 LinkedList<LinkedList<String>> list = new LinkedList<LinkedList<String>>();
也是可以的,这样就没有用 接口类 引用 实现类 了。

时间: 2024-08-02 02:48:33

嵌套list的实例化的相关文章

C++ Primer 学习笔记_104_特殊工具与技术 --嵌套类

特殊工具与技术 --嵌套类 可以在另一个类内部(与后面所讲述的局部类不同,嵌套类是在类内部)定义一个类,这样的类是嵌套类,也称为嵌套类型.嵌套类最常用于定义执行类. 嵌套类是独立的类,基本上与它们的外围类不相关,因此,外围类和嵌套类的对象是互相独立的.嵌套类型的对象不具备外围类所定义的成员,同样,外围类的成员也不具备嵌套类所定义的成员. 嵌套类的名字在其外围类的作用域中可见,但在其他类作用域或定义外围类的作用域中不可见.嵌套类的名字将不会与另一作用域中声明的名字冲突 嵌套类可以具有与非嵌套类相同

Java中的嵌套类、内部类、静态内部类

在Java中我们在一个类的内部再定义一个类,如下所示: class OuterClass { ... class NestedClass { ... } } 那么在上面的例子中我们称OuterClass为外围类(enclosing class),里面的那个类称之为嵌套类(Nested Class). 嵌套类可以分为两种,静态的和非静态的,即静态嵌套类和非静态嵌套类.非静态嵌套类又叫做内部类(Inner Class).我们通常所说的静态内部类其实是不严格的,严格的说应该叫做静态嵌套类(Static

Java中的Nested Classes和Inner Classes

Java中的Nested Classes和Inner Classes Java有嵌套类(Nested Classes)和内部类(Inner Classes)的概念. 嵌套类(Nested Classes)分为两种:static and non-static,即静态的和非静态的,静态的嵌套类我们称之静态嵌套类(static nested classes),非静态的嵌套类我们称之为内部类(inner classes). 静态的嵌套类我们可以这样表示: OuterClass.StaticNestedC

雪习新知识:Java 内部类

嵌套类,内部类,静态内部类,静态嵌套类.匿名类,成员类,局部类,傻傻分不清? 各种类,各种累!本文为你抽丝剥茧,庖丁解牛.娓娓道来. 首先声明一下,本文要讲的不是一个文件中面并列的两个类,而是在一个类里面定义另外一个类. 1. 几个样例 例1:Adapter public class ListViewActivity extends Activity { // some stuff class MyAdapter extends BaseAdapter { // some stuff } } 例

The Similarities and Differences Between C# and Java -- Part 1(译)

原文地址 目录 介绍(Introduction) 相似点(Similarities) 编译单位(Compiled Units) 命名空间(Namespaces) 顶层成员(类型)(Top Level Elements(Types)) 基础类型(Basic Types) 类(Classes) 结构体(Structures) 接口(Interfaces) 泛型(Generic Types) 委托(Delegates) 枚举(Enumerations) 类型访问级别(Type Visibilities

C# 构造函数总结

阅读目录 实例构造函数 静态构造函数 私有构造函数 构造函数 构造函数分为:实例构造函数,静态构造函数,私有构造函数. 实例构造函数 1.构造函数的名字与类名相同. 2.使用 new 表达式创建类的对象或者结构(例如int)时,会调用其构造函数.并且通常初始化新对象的数据成员. 3.除非类是静态的,否则会为没有构造函数的类,自动生成一个默认构造函数,并使用默认值来初始化对象字段. 4.构造函数可以有参数,可以以多态的形式存在多个构造函数. 例: class CoOrds { public int

泛型的其他应用-接口,方法定义使用,泛型数组,泛型的嵌套设置。

掌握泛型的接口的使用: 掌握泛型方法的定义与使用: 掌握泛型数组的使用: 掌握泛型的嵌套设置: 具体内容 1.1泛型接口基本概念 之前所有的操作都是在类中直接使用泛型操作的,那么,对于JAVA来说,也可以在接口中定义及使用泛型. 声明泛型接口: interface 接口名称<接口标示>{} interface Info<T> { public T getInfo(); } 如果现在一个子类实现此接口是没有进行正确的实现,则在编译时候会出现警告, 例子: interface Info

java 泛型详解(普通泛型、 通配符、 泛型接口,泛型数组,泛型方法,泛型嵌套)

JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0.这说明Java已经有大幅度的变化.本文将讲解JDK5.0支持的新功能-----Java的泛型. 1.Java泛型  其实Java的泛型就是创建一个用类型作为参数的类.就象我们写类的方法一样,方法是这样的method(String str1,String str2 ),方法中参数str1.str2的值是可变的.而泛型也是一样的,这样写class Java_Generics<K,V>,这里边的K和V就象方法中的参数str1和st

ZeroC ICE源代码中的那些事 - 嵌套类和局部类

使用嵌套类(类中定义的类,c++没有静态类)或局部类(在函数或成员方法中定义的类),进行行为模式的委托(委托请求)或异步 . java中嵌套类和局部类隐式完成了你对外部对象(实例)访问的私有堆栈的初始化,而c++你必须通过类成员变量来保存你要访问到的 外部对象(变量,实例),即自行实现私有堆栈,并使用嵌套类和局部类的构造函数,以参数传递的方式初始化这些用作私有堆栈的成 员变量.当你的局部类(在函数中定义的类)要访问到函数的局部变量时,你并不能确保局部类在局部变量被释放前访问,所以你只能 将局部变