你好,我有一些问题要解决。我需要创建一个循环,在其中创建x个人员对象(x是一个函数参数),并将其添加到列表中。
class Person
{
public int Age;
public String Name;
public Person(int age, String name) {
this.Age = age;
this.Name= name;
}
}
class Solution {
public int solution(int X) {
// write your code in Java
}
}
答案 0 :(得分:1)
在Java 7中
class Solution {
public List<Person> solution(int X) {
List<Person> list= new ArrayList();
for(int i=0;i<X;i++){
list.add(new Person(age,name)); // pass age and name
}
return list;
}
}
在Java 8中
public List<Person> solution(int X) {
return IntStream.iterate(0, i -> i + 1)
.limit(X)
.mapToObj(i->new Person (age,name))
.collect(Collectors.toList());
}
或者您可以使用并行流
public List<Person> solution(int X) {
return IntStream.iterate(0, i -> i + 1)
.parallel()
.limit(X)
.mapToObj(i->new Person (1,i+" name"))
.collect(Collectors.toList());
}
在Java 9中
public List<Person> solution(int X) {
return Stream.iterate(0, i -> i < X, i -> i + 1)
.map(i->new Person(age,name))
.collect(Collectors.toList());
}
答案 1 :(得分:0)
您可能要使用Java 8方法:
return IntStream.range(0, x).mapToObj(new Person(age, name)).collect(Collectors.toList());
请注意,您将创建x个具有相同属性的Person对象。