gpt4 book ai didi

arrays - 如何从数组或列表中选择所有值?

转载 作者:行者123 更新时间:2023-12-02 17:51:48 26 4
gpt4 key购买 nike

我对编程非常陌生,我想知道如何解决最基本的问题之一——“FizzBu​​zz”问题。我正在 Groovy 中执行此操作。

对于如何构建代码,我有一个非常具体的想法,但我一生都无法弄清楚如何针对数组中的每个值进行测试。

我的意思是,对于列表 [1,2,3,4] 中的每个值,我将如何检查每个值是否为偶数?我知道我可以选择数组中的每个特定点,但这不是我想要的 - 我希望能够说“如果 n%2=0,则将其标记为偶数。”

这是一个非常基本的示例,但您可能已经明白了。任何帮助将不胜感激。

最佳答案

Groovy 允许您使用函数式方法来解决这个问题。通过应用映射转换,您可以生成包含数字及其奇偶数的对列表。

所有 groovy 列表都有一个名为 collect 的方法,用于在每个元素上映射闭包。返回值是一个列表,其中包含对每个元素调用闭包的结果。例如:

 [1, 2, 3, 4].collect {
[it, it % 2 ? 'odd' : 'even']
}
===> [[1:odd], [2:even], [3:odd], [4:even]]

这会产生一个对列表(实际上是 2 个元素列表)。希望结果是映射而不是列表是很常见的,groovy 有一个专门版本的 collect,称为 collectEntries 就是为了这个目的。这是返回 map 的替代方案:

[1, 2, 3, 4].collectEntries {
[it, it % 2 ? 'odd' : 'even']
}
===> {1=odd, 2=even, 3=odd, 4=even}

关于arrays - 如何从数组或列表中选择所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7235275/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com