java8 特性 - map

map 是 轉化的意思,將一個類轉化爲另一個類
例如這裏有兩個實體類 一個是 animal 一個是 toy

@ToString
@Data
@AllArgsConstructor
public class Animal {
    private String name;
    private Integer age;
}


@ToString
@Data
public class Toy {
    private String name;
}

初始化一個 animal的list

List<Animal> animals = Lists.newArrayList ();
animals.add (new Animal ("cat",12));
animals.add (new Animal ("dog",20));
animals.add (new Animal ("wolf",5));

先來一個簡單的例子,將提取animal 的一個屬性將 List<Animal> map 成 List<String>

List<String> nameList = animals.stream().map(t-> t.getName()).collect(Collectors.toList());
System.out.println(nameList);

結果

[cat, dog, wolf]

將 List<Animal> map 成 List<Toy>

List<Toy> toys = animals.stream().map(t-> {
            Toy toy = new Toy();
            toy.setName(t.getName());
            return toy;
        }).collect(Collectors.toList());

System.out.println(toys);

結果

[Toy(name=cat), Toy(name=dog), Toy(name=wolf)]

在java web 應用中經常會將從數據庫中查到的 entity 轉變成vo 類,應用此方法就挺方便。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章