使用Java 8函数式编程生成字母序列

2023-11-18

    在 Java 8 中使用函数式编程生成字母序列是一个很大的挑战。Lukas Eder 愉快地接受了这个挑战,他将告诉我们如何使用 Java 8 来生成ABC的序列——当然,肯定不是一种蹩脚的方式。
JAVA
    我被 Stack Overflow 上网友“mip”提的一个有趣的问题给难住了。该问题是:

我正在寻找一种生成下列字母序列的方式:
A, B, C, …, Z, AA, AB, AC, …, ZZ.

    到现在为止,没有一个答案是使用 Java 8 的函数式编程实现的,因此我接受此挑战。我将使用 jOOλ,因为 Java 8 的 Stream API 提供的功能不足以完成该任务(我承认我错了——非常感谢 Sebastian 对这个问题的有趣解答)。

    首先,我们用函数的方式分解这个算法。我们所需要的组件有:

1、一个(可重复)的字母表。
2、一个上界,例如想生成多少个字母。如要求生成序列ZZ,那上界就是2。
3、一种将字母表中的字母与先前生成的字母联合成一个笛卡尔积(cartesian product)的方法。

让我们看一下代码:

1、生成字母表
    我们可以这样写入字母表,如:

List<String> alphabet = Arrays.asList("A", "B", ..., "Z");

    但这很差劲。我们使用 jOOλ 代替:

List<String> alphabet 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Java 8函数式编程生成字母序列 的相关文章

  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • 给定两个 SSH2 密钥,我如何检查它们是否属于 Java 中的同一密钥对?

    我正在尝试找到一种方法来验证两个 SSH2 密钥 一个私有密钥和一个公共密钥 是否属于同一密钥对 我用过JSch http www jcraft com jsch 用于加载和解析私钥 更新 可以显示如何从私钥 SSH2 RSA 重新生成公钥
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口

随机推荐

  • 国产信创服务器如何进行安全可靠的文件传输?

    信创 即信息技术应用创新 2018年以来 受 华为 中兴事件 影响 国家将信创产业纳入国家战略 并提出了 2 8 n 发展体系 从产业链角度 信创产业生态体系较为庞大 主要包括基础硬件 基础软件 应用软件 信息安全4部分构成 其中芯片 服务
  • ChatGPT知多少?小白扫盲,通俗易懂

    一 ChatGPT到底是什么 ChatGPT是由OpenAI 发布的自然语言模型 它的英文全称是 Chat Generative Pre trained Transformer 直译过来就是作为聊天使用的生成式预训练转换器 其中 Chat代
  • 此时不应有java_Java出现"此时不应有......."的错误

    今晚在安装weblogic的时候 双击运行startWebLogic cmd dos窗口一闪而过 随后将 startWebLogic cmd 拖进cmd窗口运行 显示 此时不应有 tools jar 然后我把环境变量CLASSPATH中的
  • H265视频转码H264视频

    LiveMedia视频平台提供H5网页web前端无插件视频码流 但目前主流浏览器和播放器都只支持H264的码流 但是随着编码技术的迭代 目前H265编码的视频已在安防行业得到了广泛的使用 平台仅支持H264需要客户修改前端的视频编码 这样会
  • html动态标题设计源码

    html酷炫动态发光标题 效果图如下 index html
  • 【spring boot logback】日志颜色渲染,使用logback-spring.xml自定义的配置文件后,日志没有颜色了...

    接着spring boot日志logback解析之后 发现使用logback spring xml自定义的配置文件后 日志没有颜色了 怎么办 官网处理日志链接 https logback qos ch manual layouts html
  • BeautifulSoup库

    BeautifulSoup安装 1 以管理员运行cmd 2 输入 pip install beautifulsoup4 BeautifulSoup库的基本元素 BeautifulSoup库的理解 BeautifulSoup库是解析 遍历 维
  • 【分享干货】Mac系统IDEA 安装教程

    IEEA 安装 什么是idea idea 介绍 idea官网 https www jetbrains com 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img Pynu6DTk 1654592966880 User
  • Java封装性(包含this关键字,构造器等)

    目录 一 封装性的含义 二 封装性的作用 三 封装性的体现 3 1 四种权限修饰符的介绍 3 2 分装性具体的实现 四 构造器的解释 4 1 构造器的作用 4 2 注意事项 4 3 构造器的举例说明 五 this关键字的使用 5 1 thi
  • jdk8的十大新特性

    了解jdk8的新特性首先要了解jdk7的新特新都有哪些方面增强 1 jdk语法上 1 1二进制变量的表示 支持将整数类型用二进制来表示 用Ob开头 1 2Switch语句支持String类型 1 3Try with resource语句 注
  • 欢欢喜喜: 在lenovo网站购T61的经历

    1月3日 在lenovo网站购T61的经历 一直以来对IBM的小黑情有独钟 不过考虑国内昂贵的价格和需求的迫切性不高 所以 也只是观望中 上次去米果的时候 看到lenovo网上卖的T61笔记本 标的价格比平时都低300 于是动了心 开始在
  • 使用 PullToRefresh 的总结

    前言 关于下拉刷新 上拉加载的框架现在有很多 这里奉上别人收集的一些框架 下拉刷新框架收集 但是笔者一直还在使用 PullToRefresh 个人觉得 PullToRefresh 使用起来还是比较简洁方便的 关于 PullToRefresh
  • unity-ugui-eventsystem

    EventSystem对象的说明 当我们在场景中创建任一UI对象后 Hierarchy面板中都可以看到系统自动创建了对象EventSystem 可以看到该对象下有三个组件 EventSystem StandaloneInputModule
  • 七天引爆社交新零售(助你提高十倍业绩)——前言

    2019年对于中小企业主 创业者 实体店主最大的机遇就是社交新零售 为什么这么说呢 随着日益上涨房租成本 人工成本的上升 实体生意利润空间越来越小了 而传统线上电商企业流量广告费也越来越贵了 大家一直在探索有没有一种低成本高收益的销售方式出
  • stream()转map转list、distinct()去重、判断空值、sorted排序正序多字段排序

    package demo io import demo api JavaBean Student import org junit platform commons util StringUtils import java util imp
  • 镜头快速精准反馈位置硬件环境搭建

    目录 概述 一 检测部分 1 原理图 2 PCB板 二 驱动部分 1 原理图 2 PCB板 概述 本篇只要介绍 硬件电路搭建 这次是项目的需要 重新捡起好多年没使用 Altium Designer 软件了 熟悉又陌生 经过2 3天时间 终于
  • 想要精通算法和SQL的成长之路 - 最长回文子序列

    想要精通算法和SQL的成长之路 最长回文子序列 前言 一 最长回文子序列 前言 想要精通算法和SQL的成长之路 系列导航 一 最长回文子序列 原题链接 首先 我们看下动态规划方程的定义 我们用dp i j 来代表 字符串s在下标区间为 i
  • Django连接MySQL数据库时出错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No mo

    基于python3解释器的虚拟环境中创建的Django项目 Django中默认连接的是SQLite3数据库 现更改为MySQL数据库 执行迁移文件时报错 django core exceptions ImproperlyConfigured
  • html5 调用本地街景,H5案例分享:在移动端调用腾讯街景

    在移动端调用腾讯街景 腾讯地图街景组件可以通过多种方式调起 来展示3D街景信息 腾讯街景API 是构建在v2版本上的全新应用接口 对于目的地 可以让用户足不出户 得到更直观 更真切 的身临其境的体验 比如 您可以就用在 房产 酒店 餐饮 娱
  • 使用Java 8函数式编程生成字母序列

    在 Java 8 中使用函数式编程生成字母序列是一个很大的挑战 Lukas Eder 愉快地接受了这个挑战 他将告诉我们如何使用 Java 8 来生成ABC的序列 当然 肯定不是一种蹩脚的方式 我被 Stack Overflow 上网友 m