java stream的常用方法

Arrays.stream

java 复制代码
String[] names = {"Alice", "Bob", "Charlie"};
Stream<String> stream = Arrays.stream(names);

// 示例:转大写并收集
List<String> upperNames = Arrays.stream(names)
    .map(String::toUpperCase)
    .collect(Collectors.toList());
// 结果: ["ALICE", "BOB", "CHARLIE"]
java 复制代码
int[] numbers = {1, 2, 3, 4, 5};
IntStream intStream = Arrays.stream(numbers);

// 求和
int sum = Arrays.stream(numbers).sum(); // 15

// 过滤偶数
int[] evens = Arrays.stream(numbers)
    .filter(n -> n % 2 == 0)
    .toArray(); // [2, 4]

把数组变成List

下面的例子: 把String 类型 先split用逗号切割成数组, 再左右去空格, 转型为Long类型

java 复制代码
List<Long> idList = Arrays.stream(ids.split(","))
                .map(String::trim)
                .map(Long::parseLong)
                .collect(Collectors.toList());

List.stream

java 复制代码
private UserVO convertToVO(User user) {
        UserVO vo = new UserVO();
        BeanUtils.copyProperties(user, vo);
}
java 复制代码
 List<User> userList = new ArrayList<>()
 userList.add(new User(1))
 userList.add(new User(2))
 List<UserVO> voList = userList.stream()
 				.filter(Objects::nonNull)   
                .map(this::convertToVO)
                .collect(Collectors.toList());
相关推荐
Cerman1 小时前
QEMU启动OVMF shell超时分析
c语言·windows·经验分享
comedate14 小时前
Windows / Linux GPU 虚拟内存布局差异与 CUDA 越界访问行为
linux·windows·mmu·cuda 越界访问
IT技术分享社区17 小时前
Windows桌面时钟推荐:始终置顶、无级缩放、支持全屏游戏显示时间
windows·微软技术·电脑技巧·桌面美化·电脑干货
公子小六21 小时前
基于.NET的Windows窗体编程之WinForms音频控件
windows·microsoft·c#·.net·音视频·winforms
诸神缄默不语1 天前
如何在Win11系统中找到是哪个程序占用了指定端口
windows
FL16238631291 天前
Halcon26.05下载安装教程
windows
ly76891 天前
Windows 操作系统详解:从系统架构、文件管理到安全与运维
windows·安全·系统架构
2601_962364971 天前
踩坑提醒!带摄像头≠支持 Windows Hello 人脸解锁
windows
码农爱学习1 天前
ClaudeCode搭配DeepSeek在Windows和Linux中的安装教程
linux·运维·windows
WA内核拾荒者2 天前
WhatsApp账号运营SOP的可视化编排与流水线监控
大数据·数据库·windows