Get list of attributes of an object in an List

Java 8 and above:

List<String> namesList = personList.stream()
                                   .map(Person::getName)
                                   .collect(Collectors.toList());

If you need to make sure you get an ArrayList as a result, you have to change the last line to:

                                    ...
                                    .collect(Collectors.toCollection(ArrayList::new));

Java 7 and below:

The standard collection API prior to Java 8 has no support for such transformation. You’ll have to write a loop (or wrap it in some “map” function of your own), unless you turn to some fancier collection API / extension.

(The lines in your Java snippet are exactly the lines I would use.)

In Apache Commons, you could use CollectionUtils.collect and a Transformer

In Guava, you could use the Lists.transform method.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)