Создание объекта в цикле и добавление в список - PullRequest
0 голосов
/ 05 октября 2018

Здравствуйте, у меня есть проблема для решения.Мне нужно создать цикл, в котором я создаю объекты x person (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
    }
}

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

В 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());
}
0 голосов
/ 05 октября 2018

Возможно, вы захотите использовать подход java 8:

return IntStream.range(0, x).mapToObj(new Person(age, name)).collect(Collectors.toList());

Обратите внимание, что вы создадите x количество объектов Person с одинаковыми свойствами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...