英文:
Collect method return as List<CustomObject>
问题
我正在尝试收集方法返回的对象列表。
例如,如果我有一个方法如下:
public Person doSomething() {
//定义部分
}
我想这样收集它:
List<Person> persons = call doSomething()
我可以像这样做:
List<Person> persons = new ArrayList<>();
for(int i = 0; i < length; i++) {
persons.add(doSomething());
}
其中 length
可以是一个常量和独立的属性,例如 例如 5。
只是想知道是否有更好的方法可以使用流来实现这个。
英文:
I am trying to collect the method return as list of Object.
i.e. If I have a method like
public Person doSomething() {
//definition
}
I want to collect it as
List<Person> persons = call doSomething()
I can do it something like this
List<Person> persons = new ArrayList<>();
for(int i = 0; i < length; i++) {
persons.add(doSomething());
}
Where length
can be constant and independent attribute e.g. 5
Just wondering if there is a better way of doing this with streams
答案1
得分: 1
以下是您要的翻译:
用流进行此操作的最简单方法是
List<Person> = Stream.generate(() -> doSomething()).limit(length).collect(toList());
您是否认为这样做更好,这是一个品味的问题。
英文:
The easiest way to do it with streams is
List<Person> = Stream.generate(() -> doSomething()).limit(length).collect(toList());
Whether or not you consider this "better" is a matter of taste.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论