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 類,應用此方法就挺方便。