java - 使用 Java 8 进行迭代时从列表对象中删除空间
问题描述
这是我的代码,它返回空格以及一些有效的字符串。但是,我的要求是使空间无效并只收集字符串
List<String> stateCodes = stateList.stream()
.map(state-> physician.getStateDetails().getStateCode())
.collect(Collectors.toList());
当我打印 stateCodes 时,它会返回
[ , , 197, 148, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]
在这里我只需要 [197,148]
解决方案
过滤掉空值。我不确定String
您的输出中是否为空。如果是,您可以使用以下方法过滤掉它们:
List<String> stateCodes =
stateList.stream()
.map(state-> physician.getStateDetails().getStateCode())
.filter(s -> !s.isEmpty())
.collect(Collectors.toList());
注意:您可以添加trim()
(到map
orfilter
步骤)以过滤掉String
仅包含空格的 s:
List<String> stateCodes =
stateList.stream()
.map(state-> physician.getStateDetails().getStateCode().trim())
.filter(s -> !s.isEmpty())
.collect(Collectors.toList());
推荐阅读
- ruby-on-rails - 在 Heroku 上运行 long rails 控制台或 rake 任务
- laravel - 在 laravel eloquent 中使用简单的 for 循环
- c - 文件空检查
- firefox - 是否可以使用 tampermonkey (Firefox) 设置 document.title
- sql-server - 生成不存在的随机数
- google-sheets - Google Sheet(查询,间接)增强
- regex - 如何创建匹配 0 次出现或 7 到 50 次出现之间的正则表达式?
- c# - Windows 中 .Net Core 中网络驱动器更改/连接/断开的事件
- python - Python Pexpect 和 Minicom 无法按预期工作
- python - 如何附加 JSON 文件?