Streams API

public class FieldTest {
    public static void main(String[] args) {
        List<FieldDTO> input = new ArrayList<>();
        for (int i = 0; i < 5; ++i) {
            FieldDTO dto = new FieldDTO();
            dto.setEnName("field"+i);
            dto.setChName("字段"+i);
            input.add(dto);
        }
        
        // 从对象中取出属性的集合
        List<String> enNameList = input.stream().map(FieldDTO::getEnName).collect(Collectors.toList());
        // 将实体类中两个字段转成map
        Map<String, String> map = input.stream().collect(Collectors.toMap(FieldDTO::getEnName, FieldDTO::getChName));
        // key:实体类某个字段, value 为对象本身
        Map<String, FieldDTO> map2 = input.stream().collect(Collectors.toMap(FieldDTO::getEnName, Function.identity()));    }


}
class FieldDTO {
    String enName;
    String chName;

    public String getEnName() {
        return enName;
    }

    public void setEnName(String enName) {
        this.enName = enName;
    }

    public String getChName() {
        return chName;
    }

    public void setChName(String chName) {
        this.chName = chName;
    }
}

从对象中取出属性的集合

List<String> enNameList = input.stream().map(FieldDTO::getEnName).collect(Collectors.toList());

将实体类中两个字段转成map

Map<String, String> map = input.stream().collect(Collectors.toMap(FieldDTO::getEnName, FieldDTO::getChName));

使用Function.identity() 来实现map的value为对象本身

Map<String, FieldDTO> map2 = input.stream().collect(Collectors.toMap(FieldDTO::getEnName, Function.identity()));    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值