Ale*_*ndr 1 java transform guava
我正在尝试应用"转换" List <Map <String, String>>.在" Function.apply"方法中是否可以获取List中当前项的索引?
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;
}
});
Run Code Online (Sandbox Code Playgroud)
通常在Java中,使用循环更简单,更清晰.
List<Map<String, String>> data = ...
for(int i = 0; i < data.size(); i++) {
// i is the index.
data.get(i).put(key, value);
}
Run Code Online (Sandbox Code Playgroud)
我应该说我赞成使用支持它的语言进行函数式编程.Java 7不适合函数式编程,有时你不得不求助于迭代.Java 8和9承诺在添加闭包时更加功能性编程.
恕我直言Java甚至不支持递归以及许多语言.JVM中缺少尾调用是一个缺陷.
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |