Создать список сотрудников с динамическими значениями c, используя потоки Java - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть сценарий использования, когда мне нужно создать список сотрудников по умолчанию с инкрементным идентификатором,

List<Employee> employeeList = new ArrayList<>();
int count = 0;
while (count++ <= 100){
    Employee employee = new Employee(count, "a"+count);
    employeeList.add(employee);
}

У меня нет ни одной коллекции, в которой я мог бы использовать поток. Можем ли мы сделать это функционально?

1 Ответ

0 голосов
/ 24 апреля 2020

Вы можете использовать IntStream с rangeClosed(int startInclusive, int endInclusive) для генерации счетчика

List<Employee> employeeList = IntStream.rangeClosed(0,100)
                                       .boxed()
                                       .map(count-> new Employee(count, "a"+count))
                                       .collect(Collectors.toList());

Или вы можете использовать Stream.iterate

List<Employee> employeeList = Stream.iterate(0, n -> n + 1)
                                    .limit(100)
                                    .map(i -> new Employee(i, "a" + i))
                                    .collect(Collectors.toList())
...