【发布时间】:2020-01-02 23:06:48
【问题描述】:
我知道它非常具体,但我创建了一个方法以将 Page 以特定方式放入 Treemap,效果很好,我想创建另一种方法来处理这样的多个页面
static void multiplePageAdder(TreeMap<String, Page> t, Page... myPages){
for (Page p: myPages) {
onePageAdder(t,p); //static void onePageAdder(TreeMap<String,Page> t,Page p)
}
}
我很确定我可以把它变成一个 lambda 表达式,但我不知道怎么做,你能帮我吗?
【问题讨论】:
-
我不确定您要做什么。如果 Map 的类型为
<String, Page>,则每个键的页面不能超过一个。 -
@VGR 它看起来像递归,但请注意内部循环 OP 调用
pageAdder而不是page*s*Adder -
@Pshemo 啊,很好,我忽略了这一点。
-
是的,对不起,我会改变它
-
您可以将您的代码重写为
Arrays.stream(myPages).forEach(p->onePageAdder(t,p));之类的东西,但我不确定您为什么要这样做。您现在所拥有的 IMO 足够清晰,并且将具有与流类似的性能。 BTW lambda 只是这部分p->onePageAdder(t,p),我之前写的是流管道。