使用java中的Array.asList插入列表列表

时间:2017-11-12 01:13:05

标签: java

我在java编码,我有三个数组,我有一个列表列表。

int[] recovery=bl.generateRecovery();
    int[] periods = bl.generatePeriods(recovery);
    int[] deadlines =  bl.generateDeadlines(periods);

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

现在我想将数组添加为列表中的列表。

我尝试使用:

temp.add(Arrays.asList(recovery));

但它失败了。 有人能告诉我该怎么做吗?

3 个答案:

答案 0 :(得分:3)

Arrays.asList(recovery)会为您提供List<int[]>个对象,而非List<Integer>。请尝试使用Integer[] recovery

编辑: 您可能希望使用generateRecovery等方法返回List<Integer>而不是int[]。数组不灵活,通常最好使用List

答案 1 :(得分:3)

您可以在int[] Arrays.stream上使用boxed并将其作为List收集为:

temp.add(Arrays.stream(recovery).boxed().collect(Collectors.toList()));

答案 2 :(得分:0)

您正在尝试融合两种不同的类型(int []和ArrayList&lt;&gt;)。 它们不一样,你必须将数组统一到其中一种类型。

    int[] recovery= {1,2,3};

    List<int[]>temp=new ArrayList<>();

    temp.add(recovery);

    System.out.println(temp.get(0)[1]);

此代码打印2。