java 笛卡尔积_使用Guava来计算笛卡尔积

java 笛卡尔积_使用Guava来计算笛卡尔积以前做项目的时候计算笛卡尔积的时候,总是使用各种for循环来嵌套,最后往往在Sonar代码检查的时候总是会报警说for循环嵌套过深。今天才知道Guava原来已经为我们提供了优雅的计算笛卡尔积的方法。比如我们要计算3个List的笛卡尔积,每个list的内容都是[‘a’,’b’,’c’],请看下面的代码:publicclassCartesianProductUtil{publicstat…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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

以前做项目的时候计算笛卡尔积的时候,总是使用各种for循环来嵌套,最后往往在Sonar代码检查的时候总是会报警说for循环嵌套过深。

今天才知道Guava原来已经为我们提供了优雅的计算笛卡尔积的方法。

比如我们要计算3个List的笛卡尔积,每个list的内容都是[‘a’, ‘b’, ‘c’], 请看下面的代码:

public class CartesianProductUtil {

public static void main(String[] args) {

ImmutableSet charList = ImmutableSet.of(‘a’, ‘b’, ‘c’);

Set> set = Sets.cartesianProduct(charList, charList, charList);

for (List characters : set) {

System.out.println(characters);

}

}

}

输出为:

[a, a, a]

[a, a, b]

[a, a, c]

[a, b, a]

[a, b, b]

[a, b, c]

[a, c, a]

[a, c, b]

[a, c, c]

[b, a, a]

[b, a, b]

[b, a, c]

[b, b, a]

[b, b, b]

[b, b, c]

[b, c, a]

[b, c, b]

[b, c, c]

[c, a, a]

[c, a, b]

[c, a, c]

[c, b, a]

[c, b, b]

[c, b, c]

[c, c, a]

[c, c, b]

[c, c, c]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157749.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Spring学习总结(一)入门

    Spring学习总结(一)入门

    2021年11月30日
  • 局域网ping传输失败常见故障_局域网ping不通对方电脑的地址

    局域网ping传输失败常见故障_局域网ping不通对方电脑的地址本文介绍利用ping命令回显来解决网络故障的方法,分别介绍常见的目标主机不可达和ping出现timeout的可能性和解决方法,案例。分为同网段和跨网段两种情况进行列举。涉及网络知识,wireshark的使用技巧,都是本人在几年维护网络中遇到问题的总结,基本涵盖常见故障。有错误的地方,请大家指正讨论。…

    2022年10月19日
  • 分布式事务中的Saga模式「建议收藏」

    分布式事务中的Saga模式「建议收藏」微服务架构(MSA)已经变得非常流行。但是,一个常见问题是如何跨多个微服务管理分布式事务。当微服务架构将单体系统分解为自封装服务时,意味着单体系统中的本地事务现在分布到将按顺序调用的多个服务中。说到分布式事务,通常熟悉的是两阶段提交,TCC等常见模式。初次之外还有基于Saga实现的分布式事务。什么是Saga?Saga事务模型又叫做长时间运行的事务(Long-running-transact…

  • 毕业设计之Qt播放器[通俗易懂]

    毕业设计之Qt播放器[通俗易懂]一、功能介绍1、有拖拉功能,将视频直接拖进,播放器即可播放视频2、可以有加密视频,将放视频的文件夹加密3、有定时开关机的功能4、有网上直接看视频的功能5、有打开本地视频的功能6、可以浏览照片7、可以播放歌曲8、有最新电影推荐功能9、播放列表10、1499小游戏,在线玩二、llplayer  以完成功能1、正常播放ok2、文件夹打开ok,

  • Java实现静态代理[通俗易懂]

    Java实现静态代理[通俗易懂]使用静态代理时需要让目标对象和代理对象一起实现相同的接口或者继承相同的父类。这样做的目的就是为了通过调用代理对象中和目标对象相同的方法来实现调用目标对象的方法,从而达到代理的效果。第一步定义接口publicinterfaceIStatictProxy{voidprint();}第二步实现接口(目标对象)@Slf4jpublicclassTargetImplimplementsIStatictProxy{@Overridepublic

    2022年10月16日
  • 伴随矩阵求逆矩阵(已知A的伴随矩阵求A的逆矩阵)

    在之前的文章《线性代数之矩阵》中已经介绍了一些关于矩阵的基本概念,本篇文章主要就求解逆矩阵进行进一步总结。余子式(Minor)我们先看例子来直观的理解什么是余子式(Minor,后边将都用英文Minor,中文的翻译较乱)。minorexample这个例子(我们假设矩阵为A)中我们看到A[1,1]的minor就是将A[1,1]所在的行和列删除后剩下的矩阵的行列式,假设我们把A[…

发表回复

您的电子邮箱地址不会被公开。

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