Rad*_*arz 5 python java java-8
我想通过调用方法x次来创建一个列表(或一般的集合).在Python中它会是这样的.
self.generated = [self.generate() for _ in range(length)]
Run Code Online (Sandbox Code Playgroud)
我尝试在JDK 8中编写类似的代码.
this.generated = IntStream.range(0, length)
.mapToObj(n -> this.generate())
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
它有效,但不知何故它感觉还不错.有没有更合适的方法呢?
我不是Python开发人员所以我可能误解了你的例子,但从Java例子来看,你可能正在寻找类似的东西
Stream.generate(this::generate).limit(length).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
但正如Brian Goetz提到的那样
IntStream.range(0, length).mapToObj(i->...)
Run Code Online (Sandbox Code Playgroud)
将并行表现更好.
| 归档时间: |
|
| 查看次数: |
194 次 |
| 最近记录: |