You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Java 8 Stream API实现List<Integer>到List<String>的规则映射

Java Stream Filter 逻辑实现方案

完整代码实现

import java.util.List;
import java.util.stream.Collectors;

public class StringMatcher {
    public static List<String> foo(List<Integer> integerList, List<String> stringList) {
        return integerList.stream()
                .map(n -> stringList.stream()
                        // 这里就是你需要的filter逻辑
                        .filter(str -> str.length() == n && Character.isDigit(str.charAt(0)))
                        .findFirst()
                        .orElse("Not found"))
                .collect(Collectors.toList());
    }

    // 测试示例
    public static void main(String[] args) {
        List<Integer> integerList = List.of(1, 3, 4);
        List<String> stringList = List.of("1aa", "aaa", "1", "a");
        System.out.println(foo(integerList, stringList)); // 输出 [1, 1aa, Not found]
    }
}

Filter 逻辑说明

filter中需要同时满足两个条件:

  • str.length() == n:保证字符串长度与当前integerList中的数值n完全匹配
  • Character.isDigit(str.charAt(0)):校验字符串的第一个字符是数字,满足“以数字开头”的要求

示例验证

对应你给出的输入:

  • 当n=1时,筛选出长度为1且首字符是数字的字符串"1",取第一个匹配项
  • 当n=3时,筛选出长度为3且首字符是数字的字符串"1aa"
  • 当n=4时,无符合条件的字符串,返回"Not found"
    最终输出与期望一致。

内容的提问来源于stack exchange,提问作者Jugjin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 09:54:24