我经常使用javascript,我发现在操作数据集时非常方便,比如数组或对象。
我对Java非常陌生,不知道是否有类似的库用于Java?
发布于 2015-01-05 12:12:03
如果您使用的是Java 8,则可以使用Java的Stream类,它有点像下划线,因为它是为函数式编程而设计的。Here are some of the methods available,包括map,reduce,filter,min,max等。
例如,如果您有以下下划线代码:
var words = ["Gallinule", "Escambio", "Aciform", "Entortilation", "Extensibility"];
var sum = _(words)
.filter(function(w){return w[0] == "E"})
.map(function(w){return w.length})
.reduce(function(acc, curr){return acc + curr});
alert("Sum of letters in words starting with E... " + sum);
您可以在Java 8中这样编写它:
String[] words = {"Gallinule", "Escambio", "Aciform", "Entortilation", "Extensibility"};
int sum = Arrays.stream(words)
.filter(w -> w.startsWith("E"))
.mapToInt(w -> w.length())
.sum();
System.out.println("Sum of letters in words starting with E... " + sum);
发布于 2015-05-28 20:05:13
有一个库underscore-java。Live example
import com.github.underscore.lodash.U;
public class Main {
public static void main(String args[]) {
String[] words = {"Gallinule", "Escambio", "Aciform", "Entortilation", "Extensibility"};
Number sum = U.chain(words)
.filter(w -> w.startsWith("E"))
.map(w -> w.length())
.sum().item();
System.out.println("Sum of letters in words starting with E... " + sum);
}
}
// Sum of letters in words starting with E... 34
https://stackoverflow.com/questions/27772432
复制相似问题