首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有用于java的underscore.js库吗?

有用于java的underscore.js库吗?
EN

Stack Overflow用户
提问于 2015-01-05 09:53:15
回答 2查看 6.1K关注 0票数 8

我经常使用javascript,我发现在操作数据集时非常方便,比如数组或对象。

我对Java非常陌生,不知道是否有类似的库用于Java?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-05 12:12:03

如果您使用的是Java 8,则可以使用Java的Stream类,它有点像下划线,因为它是为函数式编程而设计的。Here are some of the methods available,包括map,reduce,filter,min,max等。

例如,如果您有以下下划线代码:

代码语言:javascript
复制
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中这样编写它:

代码语言:javascript
复制
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);
票数 9
EN

Stack Overflow用户

发布于 2015-05-28 20:05:13

有一个库underscore-javaLive example

代码语言:javascript
复制
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
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27772432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档