gpt4 book ai didi

guava - 使用标准库组合两个可迭代对象 -- 或 -- 映射与多个可迭代对象

转载 作者:行者123 更新时间:2023-12-05 00:00:34 24 4
gpt4 key购买 nike

当给出两个 Iterables

val keys = newLinkedList('foo', 'bar', 'bla')
val vals = newLinkedList(42, 43, 44)

我想像这样关联两个列表中的每个项目:
val Iterable<Pair<String, Integer>> expected 
= newLinkedList('foo'->42, 'bar'->43, 'bla'->44)

好的,我可以通过手动迭代两个列表来完成。

另一方面,这闻起来像什么地方
  • Xtend 或 guava 或
  • 中提供了一些标准功能
  • 一些巧妙的技巧将在一行中完成。

  • 对于 Python 中的示例,这很简单,因为它们的 map函数可以接受多个列表。

    如何使用带有最少代码的 Xtend2+ 解决这个问题?

    最佳答案

    final Iterator it = vals.iterator();
    expected = Iterables.transform(keys, new Function<String, Pair>() {
    public Pair apply(String key) {
    return new Pair(key, it.next());
    }
    });

    由 A.H. 添加:

    在 Xtend 中,这看起来像这样:
    val valsIter = vals.iterator()
    val paired = keys.map[ k | k -> valsIter.next ]

    关于guava - 使用标准库组合两个可迭代对象 -- 或 -- 映射与多个可迭代对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10036682/

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