Java поток итерации по списку наиболее эффективным способом - PullRequest
0 голосов
/ 07 октября 2019

С учетом

 List<User> listUser; //Userobject contains fields userName,userId, forName, last Name

возможно вместо записи 5 строк вывести значения полей пользователя

listUser.get(0).getUserName
listUser.get(0).getUserId
listUser.get(0).getforName and so on 

, поэтому на выходе должно быть

userName -> Hans
userId -> 1
forName -> foo
lastName -> bar

только в одной строке кода и не нужно писать 5 строк? то есть потоком или чем-то?

listUser.stream().map(s->s.getUserName) //same as above?

1 Ответ

1 голос
/ 07 октября 2019

Одним из решений было бы написать метод toString для класса, который имеет пять строк кода:

public String toString() {
    return "User name: " + getUserName() + "\n" +
           "User ID: " + getUserID() + "\n" +
           "Form name: " + getFormName() + "\n" +
           //...
           ;
}

А затем в Stream вы можете просто сделать:

listUser.forEach(System.out::println);
...