java 笛卡尔积_java 8 Lambda实现两个list的笛卡尔积
原
java 8 Lambda实现两个list的笛卡尔积
一:代码如下。package com.mszl.controller;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Test11 {
public static void main(String[] args) {
List colorList = Arrays.asList("张三", "李四", "王五");
List sizeList = Arrays.asList("25岁", "40岁");
List descartesList = descartes(colorList, sizeList);
descartesList.forEach(System.out::println);
}
public static List descartes(List... lists) {
List tempList = new ArrayList<>();
for (List list : lists) {
if (tempList.isEmpty()) {
tempList = list;
} else {
tempList = tempList.stream().flatMap(item -> list.stream().map(item2 -> item + " " + item2)).collect(Collectors.toList());
}
}
return tempList;
}
}
执行结果:张三 25岁
张三 40岁
李四 25岁
李四 40岁
王五 25岁
王五 40岁
java 笛卡尔积_java 8 Lambda实现两个list的笛卡尔积相关推荐
- java 深克隆_Java实现深克隆的两种方式
序列化和依次克隆各个可变的引用类型都可以实现深克隆,但是序列化的效率并不理想 下面是两种实现深克隆的实例,并且测试类对两种方法进行了对比: 1.重写clone方法使用父类中的clone()方法实现深克 ...
- Java变长数组笛卡尔积_Java 8中的流作为流的笛卡尔积(仅使用流)
小编典典 在示例中传递流永远比传递列表更好: private static Stream cartesian(BinaryOperator aggregator, List... lists) { . ...
- websocket java 例子_java 实现websocket的两种方式实例详解
目录 一.介绍 1.两种方式,一种使用tomcat的websocket实现,一种使用spring的websocket 2.tomcat的方式需要tomcat 7.x,JEE7的支持. 3.spring ...
- java下文_java实现文件下载的两种方式
本文实例为大家分享了java实现文件下载的具体代码,供大家参考,具体内容如下 public HttpServletResponse download(String path, HttpServletR ...
- java 建模_Java设计模式菜鸟系列(两)建模与观察者模式的实现
观察者(Observer)模式定义:在对象之间定义了一对多的依赖关系,这样一来.当一个对象改变状态时,依赖它的对象都会收到通知并自己主动跟新.Java已经提供了对观察者Observer模式的默认实现, ...
- java匿名内部类_java中匿名内部类的两种实现方式
使用匿名内部类课使代码更加简洁.紧凑,模块化程度更高.内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到.然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式 ...
- java lambda 实现_Java 8 Lambda实现原理分析
PDF文档已上传Github 为了支持函数式编程,Java 8引入了Lambda表达式,那么在Java 8中到底是如何实现Lambda表达式的呢? Lambda表达式经过编译之后,到底会生成什么东西呢 ...
- java lambda 实现_Java 8 Lambda实现原理分析(转载)
原文出处:http://www.cnblogs.com/WJ5888/p/4618465.html 为了支持函数式编程,Java 8引入了Lambda表达式,那么在Java 8中到底是如何实现Lamb ...
- java lambda表达式条件_Java 8 Lambda表达式一看就会
匿名内部类的一个问题是:当一个匿名内部类的实现非常简单,比如说接口只有一个抽象函数,那么匿名内部类的语法有点笨拙且不清晰.我们经常会有传递一个函数作为参数给另一个函数的实际需求,比如当点击一个按钮时, ...
最新文章
- Blender+SP+UE5游戏艺术工作流程学习
- C++编程易范的错误
- 如何在签约之前搞定难缠的客户
- 扇区、磁盘块、页、页框、缓冲区之间的关系!
- 借助Redis完成延时任务
- 这项技术竟然一个字也不放过!
- 信息学奥赛一本通(1323:【例6.5】活动选择)
- 1 物料xxxxxx在仓库101里不存在
- 华为鸿蒙系统英语报纸_华为鸿蒙英文不是Hongmeng OS?余承东解释
- 计算几何常用算法及numpy仿真
- Page Cache与Page回写
- CAngle类 角度转换类 C++
- 放苹果(整数划分变形题 水)poj1664
- 怎么删除服务中的mysql服务
- linux用独显运行steam,修复在Linux系统上与Nvidia不兼容的Steam游戏
- 使用 C# 写脚本的优势和方法
- MK802与外部硬件设备的通讯
- java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit异常解决
- 7-3 拍7令三 (100 分)
- WKWebView 播放下载的本地mp4文件