java8 lambda 将二维数组转换成list集合

java8 lambda 将二维数组转换成list集合将二维数组int[][]转换成一个嵌套的List<List>的形式代码如下publicstaticList<List<Integer>>generate(intnumRows){int[][]ints=newint[numRows][numRows];for(inti=0;i<numRows;i++){for(intj=0;j<=i;j++){if


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

将二维数组int[][]转换成一个嵌套的List<List<Integer>> 的形式

代码如下

public static List<List<Integer>> generate(int numRows) { 
   
    int[][] ints = new int[numRows][numRows];
    for (int i = 0; i < numRows; i++) { 
   
      for (int j = 0; j <= i; j++) { 
   
        if (j == 0 || j == i) { 
   
          ints[i][j] = 1;
        } else { 
   
          ints[i][j] = ints[i - 1][j - 1] + ints[i - 1][j];
        }
      }
    }
    //todo
  
  }}

最后需要 List<List> 这种结果集,采用lambda来实现

实现一

List<List<Integer>> collect = Arrays.stream(ints).map(l -> { 
   
          return Arrays.stream(l)
              .boxed().collect(Collectors.toList());
        }).collect(Collectors.toList());

实现二

List<List<int[]>> collect2 = Arrays.stream(ints).map(Arrays::asList)
        .collect(Collectors.toList());

会发现 实现二返回的并不是我们需要的形式,实现一才是我们需要的,原因是需要进行一次装箱即可,采用实现一即可

如果需要合并成一个List的形式需要用到 flatMap拆分流

 List<Integer> collect = Arrays.stream(ints).flatMap(l -> { 
   
      return Arrays.stream(l).boxed();
    }).collect(Collectors.toList());
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172295.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • c++ listnode 赋值_C++之ListNode[通俗易懂]

    单链表,弄清楚可stl中list的区别。ListNode的结构structListNode{intval;//当前结点的值ListNode*next;//指向下一个结点的指针ListNode(intx):val(x),next(NULL){}//初始化当前结点值为x,指针为空};如何向ListNode中插入新的结点:从键盘输入ListNode*temp1=new…

    2022年4月18日
  • gg修改器如何使用修改迷你世界_gg游戏修改器迷你世界

    gg修改器如何使用修改迷你世界_gg游戏修改器迷你世界gg修改器脚本大全迷你世界设置回点发布时间:2020-08-20来源:脚本之家点击:->Imail的所有邮局信息,比如用户,密码都实际上都是存储在计算机注册表当中的,所以只需要打开注册表就可以看到Imail里的所有信息,包括用户的密码.细节:Imail将企业邮局信息全部存储在:HKEY_LOCAL_MACHINE\SOFTWARE\Ipswitch\IMail\Domains\\U…

    2022年9月5日
  • JAVA数据结构之哈希表「建议收藏」

    hash表的优缺点hash表比树形结构快的原因,表的是位置是计算出来的通过hash函数,满足随机插入的结构。但是在有该优点的情况下,需要考虑哈希冲突本例结构中采用链地址法【在hash表的每一个表单元,都是链表结构,发生冲突的元素,自动加入链表】在jdk8以前采用的是链表解决,在jdk8之后,在处理哈希冲突时,先采用链表,当链表中size大于8时,转化为树形结构,…

    2022年4月7日
  • 实现yolo3模型训练自己的数据集总结

    实现yolo3模型训练自己的数据集总结   经过两天的努力,借鉴网上众多博客,在自己电脑上实现了使用yolo3模型训练自己的数据集并进行测试图片。本文主要是我根据下面参考文章一步步实施过程的总结,可能没参考文章中那么详细,但是会包含一些参考文章中没提及的容易掉坑的小细节,建议读者结合参考文章一起看,一步步走即可。首先贴出本文主要参考的文章以及代码出处:代码:https://github.com/qqwweee/keras-yo…

    2022年6月18日
  • 国际邮箱有哪些比较出名_国际上比较认可的邮箱

    国际邮箱有哪些比较出名_国际上比较认可的邮箱经济全球化,越来越多的企业选择跨国贸易,包括外贸、物流、软件科技等行业。在和客户谈生意时,虽然邮箱这个工具不起眼,但是却有着举足轻重的作用,如TOM国际企业邮箱。什么国际邮箱靠谱?企业注册国际邮箱,一般选择企业邮箱。要说什么国际邮箱靠谱,首先考虑海外邮件收发稳定性,其次是安全性。和普通邮箱相比,TOM企业邮箱的国内外邮件收发更安全,拥有专属的收发信通道,邮件加密传输,让用户丝毫不会担心邮件安全。公司用邮箱来往的信息,大多为重要信息,最好能长期存储,无限容量的企业邮箱可长期存储,单次发送邮件附件最大2

    2022年9月23日
  • 【手把手】制作一个简单的HTML网页

    【手把手】制作一个简单的HTML网页新建一个html文件:我要给body添加一些样式,就在head元素上挂载一个style元素。然后,写样式表:效果:这样的话,我们就可以看到body部分了。现在,我给body添加一点padding。页面上看不出区别,让我们打开F12,看一下现在的body变成了什么样子。示意图:从图中可以看出,body元素分为三层,最里面的一层,就是520×500的那部分,这个叫做内部真实空间,也就是说,你可以在里面添加其他元素,比如div元素,p元素,a元素等等。然后中间的一层就是paddin

    2022年7月27日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号