小编Sco*_*t B的帖子

从java8流创建番石榴MultiMap的最简洁方法

我有一个List<Foo>并且想要一个Multimap<String, Foo>我们Foo根据他们的getId()功能对其进行分组的地方.

我正在使用Java 8,它几乎可以做到:

List<Foo> foos = ...
Map<String, List<Foo>> foosById = foos.stream().collect(groupingBy(Foo::getId));
Run Code Online (Sandbox Code Playgroud)

但是,我有大量的代码需要一个,MultiMap<String, Foo>所以这并没有为我节省任何东西,我回到使用for循环来创建我的MultiMap.我错过了一个很好的"功能性"方式吗?

guava java-8 java-stream

48
推荐指数
2
解决办法
4万
查看次数

通过项本身的属性索引集合的最简洁方法,该项本身就是一个集合

我有一个List<Foo>并且想要一个番石榴Multimap<String, Foo>,我们Foo按照它们的Collection<String> getTags()功能的每个标签对它们进行分组.

我正在使用java 8,所以lambdas和方法引用很好/鼓励.

例如,如果我有:

foo1, tags=a,b,c
foo2, tags=c,d
foo3, tags=a,c,e
Run Code Online (Sandbox Code Playgroud)

我会得到一个Multimap<String, Foo>:

a -> foo1, foo3
b -> foo1
c -> foo1, foo2, foo3
d -> foo2
e -> foo3
Run Code Online (Sandbox Code Playgroud)

java guava java-8 java-stream

12
推荐指数
2
解决办法
2952
查看次数

如何在 SecurityManager 下运行 Java 8 的 nashorn

我正在寻找沙盒 Java 8 的 Nashorn javascript 引擎。我已经发现了 --no-java 标志,它有帮助,但我还发现以下链接说需要“在启用 SecurityManager 的情况下运行”:http : //mail.openjdk.java.net/ pipermail/nashorn-dev/2013-September/002010.html

我还没有找到说明如何使用 Nashorn 完成此操作的文档,那么如何安全地完成此操作?

security sandbox java-8 nashorn

4
推荐指数
1
解决办法
2690
查看次数

标签 统计

java-8 ×3

guava ×2

java-stream ×2

java ×1

nashorn ×1

sandbox ×1

security ×1