对List<Object>提取某个属性形成新的数组

时间:2025-04-25 06:57:30

问题描述:将一个List<Object>抽取对象的某个属性创建出一个List<String>的集合

解决方法(stream流处理):

List<String> nameList = ().map(User::getName).collect(());

扩展:

如果这里的对象不是实体而是Map, 抽取key出来重新组成数组是否可行?

测试:

@Test
public void test02(){
    List<Map<String, Object>> maps = new LinkedList<>();
    (new HashMap(){{
        put("name", "aa");
        put("age", 12);
    }});
    (new HashMap(){{
        put("name", "bb");
        put("age", 18);
    }});
    (new HashMap(){{
        put("name", "cc");
        put("age", 22);
    }});
    List<String> nameList = ().map(item -> ("name").toString()).collect(());
    (nameList);
//输出结果:[aa,bb,cc]