.是否可以在“Function.apply”方法中获取当前项目在列表中的索引? Lists.transform(data, new Function, Map-6ren">
gpt4 book ai didi

java - 是否可以在 "Function.apply"方法中获取List中当前项的索引?

转载 作者:行者123 更新时间:2023-11-29 10:17:58 28 4
gpt4 key购买 nike

我正在尝试将“转换”应用到 List <Map <String, String>> .是否可以在“Function.apply”方法中获取当前项目在列表中的索引?

Lists.transform(data, new Function<Map<String, String>, Map<String, String>>() {
private static int index = 0;

@Override
public Map<String, String> apply(Map<String, String> from) {
from.put(key, value); // need to get index
return from;
}
});

最佳答案

通常在 Java 中,使用循环更简单、更清晰。

List<Map<String, String>> data = ...
for(int i = 0; i < data.size(); i++) {
// i is the index.
data.get(i).put(key, value);
}

我应该说我赞成使用支持它的语言进行函数式编程。 Java 7 不太适合函数式编程,有时您不得不求助于迭代。 Java 8 和 9 promise 通过添加闭包对函数式编程更加友好。

恕我直言,Java 甚至不像许多语言那样支持递归。缺少tail call elimination在 JVM 中是一个缺陷。

关于java - 是否可以在 "Function.apply"方法中获取List中当前项的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12929531/

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