利用流的方式将List中的对象属性转为List、Set、Map

实体
import java.io.Serializable;

public class User implements Serializable {

    private Long id;

    private String userNo;

    private String userName;

    public User() {
    }
    public User(Long id, String userNo, String userName) {
        this.id = id;
        this.userNo = userNo;
        this.userName = userName;
    }
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getUserNo() {
        return userNo;
    }
    public void setUserNo(String userNo) {
        this.userNo = userNo;
    }
    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }
}
转List 、Set 、Map
	@Test
    public  void test() {
        List<User> userList = new ArrayList<>();
        userList.add(new User(1L,"1111","张三"));
        userList.add(new User(2L,"2222","张三"));
        userList.add(new User(3L,"3333","王五"));
        userList.add(new User(4L,"4444","赵六"));

        System.out.println("转换前--->> " + JSON.toJSONString(userList));
        //转list
        List<String> userNameList = userList.stream().map(User::getUserName).collect(Collectors.toList());
        //转Set
        Set<String> userNameSet = userList.stream().map(User::getUserName).collect(Collectors.toSet());
        //转Map
        Map<Long, User> userMap = userList.stream().collect(Collectors.toMap(User::getId, u -> u));
        
        System.out.println("转换后List--->> " + JSON.toJSONString(userNameList));
        System.out.println("转换后Set--->> " + JSON.toJSONString(userNameSet));
        System.out.println("转换后Map--->> " + JSON.toJSONString(userMap));
    }
输出
转换前--->> [{"id":1,"userName":"张三","userNo":"1111"},{"id":2,"userName":"张三","userNo":"2222"},{"id":3,"userName":"王五","userNo":"3333"},{"id":4,"userName":"赵六","userNo":"4444"}]
转换后List--->> ["张三","张三","王五","赵六"]
转换后Set--->> ["张三","王五","赵六"]
转换后Map--->> {1:{"id":1,"userName":"张三","userNo":"1111"},2:{"id":2,"userName":"张三","userNo":"2222"},3:{"id":3,"userName":"王五","userNo":"3333"},4:{"id":4,"userName":"赵六","userNo":"4444"}}

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值