Java 集合嵌套List of 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>>();

也是可以的,这样就没有用 接口类 引用 实现类 了。

参考

1.Working with a List of Lists in Java

2.How do I initialize a two-dimensional List statically?

3.Initialize List<List<Integer>> in Java

时间: 2024-11-05 22:29:19

Java 集合嵌套List of List的相关文章

Java基础知识回顾-22(静态导入,可变参数,Collections集合工具类,集合嵌套)

1.在导包的时候可以导入其静态部分,这样在类中使用其时,可以直接以其名使用 例如:Map.Entry的访问,在类文件头部导入import java.util.Map.Entry后简化后为Entry. 2.可以用"修饰符 返回值类型 方法名(参数类型... 形参名){  }"的方式来同时传入不确定个数,相同参数类型的参数.比如当求不确定个数的int类型的数据的和时,可以使用这种方式,避免写多个方法,如果参数类型不改变,则该方法不可重载,因为可变参数不确定参数个数吗.若要增加不可变参数,需

Java的LinkedHashSet、Map接口、可变参数、集合嵌套、

1.LinkedHashSet:(1)LinkedHashSet集合保证元素的存入和取出的顺序: package com.oracle.demo01; import java.util.HashSet; import java.util.LinkedHashSet; public class demo01 { public static void main(String[] args) { //不能存重复元素,但是LinkedHashSet是有序的. LinkedHashSet<String>

mybatis“集合嵌套查询”和“集合嵌套结果”两种方法实现数据库一对多关系

两个实体类分别如下:User用户类和Goods商品类.一个用户对应多个商品(一对多) package com.leo.entity; import java.util.List; public class User { private Integer id; private String username; private Integer age; private String address; private List<Goods> goodsList; public List<Goo

集合嵌套之ArrayList嵌套ArrayList

1 import java.util.ArrayList; 2 3 import com.heima.bean.Person; 4 5 public class Demo5_ArrayListArrayList { 6 /* 7 * 集合嵌套之ArrayList嵌套ArrayList 案例:一个学校有好多班级,一个班级又有好多人;遍历输出这个学校的所有人 8 */ 9 public static void main(String[] args) { 10 ArrayList<ArrayList<

黑马程序员——Java集合基础知识之Map

Map概念 要同时存储两个元素Key和Value,他们之间有映射关系,每个键不能重复,每个键只能映射到一个值. 当数据之间存在映射关系的时候,考虑使用Map集合. Map常用方法 如果添加的键原来有值,后添加的值会覆盖前面的值,并返回之前的值.put会返回来先添加的值,后添加的值会覆盖原有的值. Map tm =new TreeMap(); tm.put (key, value);//MAP没有add tm.remove (key) ;//去除一个key和对应的value,若不存在key返回nu

【JAVA集合框架之Map】

一.概述.1.Map是一种接口,在JAVA集合框架中是一个非常重要的集合.2.Map一次添加一对元素,所以又称为“双列集合”(Collection一次添加一个元素,所以又称为“单列集合”)3.Map集合中存放的是一个一个的键值对,集合中存放的元素必须保证键的唯一性.二.常用方法.1.添加  V put(K key, V value)           将指定的值与此映射中的指定键关联(可选操作). 该方法的作用就是向集合中添加一个键值对,并返回一个值:如果键存在,则返回对应的旧值,并以新值取代

浅入深出之Java集合框架(上)

Java中的集合框架(上) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架(下)>. 目录: 浅入深出之Java集合框架(上) 浅入深出之Java集合框架(中)   努力赶制中..关注后更新会提醒哦! 浅入深出之Java集合框架(下) 努力赶制中..关注后更新会提醒哦! 一.集合概述 1)集合的概念 现实生活中的集合:很多事物凑在一起. 数学中的集合:具有共同属性的事物的总体

Java集合框架面试问题集锦

Java集合框架(例如基本的数据结构)里包含了最常见的Java常见面试问题.很好地理解集合框架,可以帮助你理解和利用Java的一些高级特性.下面是面试Java核心技术的一些很实用的问题. Q:最常见的数据结构有哪些,在哪些场景下应用它们? A. 大部分人都会遗漏树和图这两种数据结构.树和图都是很有用的数据结构.如果你在回答中提及到它们的话,面试者可能会对你进行进一步进行的考核. Q:你如何自己实现List,Set和Map? A:虽然Java已经提供了这些接口的经过实践证明和测试过的实现,但是面试

集合嵌套及遍历

package com.day15.collection;/* * 集合嵌套之ArrayList嵌套ArrayList * 我们专业,专业又分为若干个班级 * 整个专业是一个大集合 * 若干个班级为一个小集合 */ import java.util.ArrayList; import com.day15.bean.Person; public class ArrayListThree { public static void main(String[] args) { ArrayList<Arr