Java Stream 流转换集合类型

前言

String List 转Long List

List<String> strIdList = new ArrayList<>();
...

List<Long> idList = strIdList .stream().map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());

自定义类型1 转 自定义类型2

List<ScoreItem> scoreItemList = ...
List<NewScoreItem> newScoreItemList = scoreItemList.stream().map(s -> {
    
    
        	NewScoreItem newScoreItem = new NewScoreItem;
        	newScoreItem.setScore(s.getScore());
        	newScoreItem.setType(s.getType());
        	return newScoreItem;
        }).collect(Collectors.toList());

自定义类型3 转 自定义类型4

List<SysDept> deptTrees = ...
List<TreeSelect> deptTrees2 = deptTrees.stream().map(TreeSelect::new).collect(Collectors.toList());
public class TreeSelect implements Serializable {
    public TreeSelect(SysDept dept)
    {
        this.id = dept.getDeptId();
        this.label = dept.getDeptName();
        this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
    }
    ...
}
public class SysDept extends BaseEntity {
    /** 子部门 */
    private List<SysDept> children = new ArrayList<SysDept>();
    ...
}

猜你喜欢

转载自blog.csdn.net/sayyy/article/details/131772680