繁体   English   中英

Java中的泛型类型中的泛型类型?

[英]A generic type inside a generic type in Java?

如果这个问题对您来说太简单了,请耐心等待。 我是Java泛型的新手,遇到了一个我很困惑的编码示例。 当给出一组不同的整数时,它希望返回所有可能的子集。

我的问题:

  1. 为什么下面的代码使用List<List<Integer>> 您可以改用List<Integer>吗?

  2. List<List<Integer>>类的结构的技术术语是什么? 我想在线阅读更多。

非常感谢你的帮助!

public class Example {
    public List<List<Integer>> subsets(int[] nums) {

    }
}

一个集合(列表)将仅返回一个子集,以返回您需要集合的所有子集。 例如,如果初始集合为(1,2,3),则所有子集将为(1,2,3),(1,2),(1,3),(2,3),(1),(2) ,(3)。 如您所见,它们都是列表。 要返回这种结果,您应该使用列表列表。

关键部分是所有可能的子集 ,这意味着每个条目(或List List )有多个值。 你不能代表

1,2,3
4,5,6

作为两个不同的集合而没有集合的集合(或数组的数组)。

您可以改用List吗? 是的,没有。

您总是可以找到从有限的n维结构到1维结构的投影。 例如。 只需浏览所有列表并将成员添加到1个单个列表中即可。

但是,您不能(总是/大部分时间)撤消该过程,一旦有了List<Integer> ,有时就不可能返回到List<List<Integer>> ,否则它确实很复杂,不值得计算时间。

太简单了。 List<List<Integer>>就是List<List<Integer>>列表的列表。 将其视为2D数组。 将a,b,c视为List<Integer>

  a-> 1,2,3,4,5..
    b->5,6,8..
    c->4,6,9,7,4..

那么List<List<Integer>> xyz就是a,b,c的列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM