StreamAPI,取出list中的name属性,返回一个新list

使用 Stream API 从列表中提取 name 属性并返回一个新列表,可以通过以下步骤实现:首先将列表转换为流,然后使用 map 方法将流中的每个元素映射为其 name 属性,最后使用 collect 方法结合 Collectors.toList() 将映射后的元素收集到一个新列表中。

以下是一个示例代码:

java 复制代码
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

class User {
    private int id;
    private String name;
    private String password;

    public User(int id, String name, String password) {
        this.id = id;
        this.name = name;
        this.password = password;
    }

    public String getName() {
        return name;
    }
}

public class StreamExample {
    public static List<User> getUserList() {
        List<User> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            list.add(new User(i + 11, "name_00" + i, "test_0" + i));
        }
        return list;
    }

    public static void main(String[] args) {
        List<User> userList = getUserList();
        // 从列表中提取name属性并返回新列表
        List<String> nameList = userList.stream()
                .map(User::getName)
                .collect(Collectors.toList());
        System.out.println(nameList);
    }
}

在上述代码中,userList.stream()userList 转换为流,map(User::getName) 将流中的每个 User 对象映射为其 name 属性,collect(Collectors.toList()) 将映射后的 name 属性收集到一个新的列表中。

相关推荐
平哥努力学习ing1 天前
《数据结构》-第八章 排序
数据结构·算法·排序算法
清铎1 天前
leetcode_day13_普通数组_《绝境求生》
数据结构·算法
Gorgous—l1 天前
数据结构算法学习:LeetCode热题100-栈篇(有效的括号、最小栈、字符串解码、每日温度、柱状图中最大的矩形)
数据结构·学习·算法
Watermelo6171 天前
探究TOON的价值边界:比JSON更优的大模型友好数据格式?
数据结构·人工智能·语言模型·自然语言处理·数据挖掘·数据分析·json
星火开发设计1 天前
C++ multimap 全面解析与实战指南
java·开发语言·数据结构·c++·学习·知识
菜鸟233号1 天前
力扣494 目标和 java实现
java·数据结构·算法·leetcode
李日灐1 天前
C++STL:deque、priority_queue详解!!:详解原理和底层
开发语言·数据结构·c++·后端·stl
sin_hielo1 天前
leetcode 1266
数据结构·算法·leetcode
草莓熊Lotso1 天前
Linux 2.6 内核 O(1) 调度队列深度解析:为什么它能实现常数时间调度?
linux·运维·服务器·数据结构·人工智能·哈希算法·散列表
星火开发设计1 天前
C++ deque 全面解析与实战指南
java·开发语言·数据结构·c++·学习·知识