给两个时 Iterables
val keys = newLinkedList('foo', 'bar', 'bla')
val vals = newLinkedList(42, 43, 44)
Run Code Online (Sandbox Code Playgroud)
我想关联两个列表中的每个项目,如下所示:
val Iterable<Pair<String, Integer>> expected
= newLinkedList('foo'->42, 'bar'->43, 'bla'->44)
Run Code Online (Sandbox Code Playgroud)
好的,我可以手动迭代两个列表.
另一方面,这闻起来像是在哪里
对于Python中的示例,这将是一个明智的选择,因为它们的map函数可以采用多个列表.
如何使用Xtend2 +和miniumum代码解决这个问题?
final Iterator it = vals.iterator();
expected = Iterables.transform(keys, new Function<String, Pair>() {
public Pair apply(String key) {
return new Pair(key, it.next());
}
});
Run Code Online (Sandbox Code Playgroud)
由AH添加:
在Xtend中,这看起来像这样:
val valsIter = vals.iterator()
val paired = keys.map[ k | k -> valsIter.next ]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1886 次 |
| 最近记录: |