有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

对特定类型使用Java泛型

我正在用二进制搜索树练习LeetCode。我想知道是否有人可以解释以下方法签名:

 public List<List<Integer>> levelOrder(TreeNode root) {

我对Java泛型的使用感到困惑——在本例中List<List<Integer>>到底是怎么说的

我理解Java泛型是一种“语法允许您编写可以处理多种不同类型的泛型类和方法”的方式

我在ArrayList中看到过,但是整数列表的这个特定定义在这里意味着什么呢

谢谢


共 (1) 个答案

  1. # 1 楼答案

    List<List<Integer>>应理解为“整数列表”

    如果在伪代码中定义“整数列表”,它可能如下所示:

    [ [ 1, 2, 3 ], [], [ 4, 5 ], [] ]
    

    AnArrayList是一种List。每个ArrayList都是List,但不是每个List都是ArrayList

    Java这样做的原因是,您(通常)不希望代码依赖于列表的特定实现,而是依赖于contract of a list