Java Stream转换List对象

代码

实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class TestEntity {
    private String no1;
    private String no2;
    private String no3;
    private String no4;
}

实现代码

public class TestStream {
    public static void main(String[] args) {
        /*数据准备*/
        List<TestEntity> list = new ArrayList<>();
        for (int i = 0; i < 4; i++) {
            TestEntity entity = new TestEntity("test0"+i,"test0"+i,"test0"+i,"test0"+i);
            list.add(entity);
        }

        /*stream测试*/
        /*01.List<T> 转换为 Map<String,List<T>>*/
        Map<String, List<TestEntity>> collect01 = 
                list.stream().collect(Collectors.groupingBy(TestEntity::getNo1));

        /*02.List<T> 转换为 Map<?,?>*/
        Map<String, String> collect02 = 
                list.stream().collect(Collectors.toMap(TestEntity::getNo1, TestEntity::getNo2));

        /*03.List<T> 转换为 Map<?,T>*/
        Map<String, TestEntity> collect03 = 
                list.stream().collect(Collectors.toMap(TestEntity::getNo1, val -> val));
        Map<String, TestEntity> collect04 = 
                list.stream().collect(Collectors.toMap(TestEntity::getNo1, Function.identity()));

        /*04.List<T> 转换为 List<?>*/
        List<String> collect05 = 
                list.stream().map(TestEntity::getNo1).collect(Collectors.toList());


    }
}

结果

01.List 转换为 Map<String,List>
在这里插入图片描述
02.List 转换为 Map<?,?>
在这里插入图片描述
03.List 转换为 Map<?,T>
在这里插入图片描述
在这里插入图片描述

04.List 转换为 List<?>
在这里插入图片描述