概述
在JDK 1.8
里,可以使用如下代码获取List
元素对象中某个属性的列表。
package test;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class ListAttrTest {
public static void main(String[] args) {
List<Coupon> couponList = new ArrayList<>();
Coupon coupon1 = new Coupon(1,100,"优惠券1");
Coupon coupon2 = new Coupon(2,200,"优惠券2");
Coupon coupon3 = new Coupon(3,300,"优惠券3");
couponList.add(coupon1);
couponList.add(coupon2);
couponList.add(coupon3);
List<Integer> resultList = couponList.stream().map(Coupon::getCouponId).collect(Collectors.toList());
System.out.println(resultList);
}
}
public class Coupon {
private Integer couponId;
private Integer price;
private String name;
public Coupon(Integer couponId, Integer price, String name) {
this.couponId = couponId;
this.price = price;
this.name = name;
}
public Integer getCouponId() {
return couponId;
}
public void setCouponId(Integer couponId) {
this.couponId = couponId;
}
public Integer getPrice() {
return price;
}
public void setPrice(Integer price) {
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
打印结果如下:
[1, 2, 3]