java - 如何以方便的方式检查多个元素中的任何一个是否在列表中?
问题描述
我正在尝试编写以下条件:
if(javaList.contains("aaa")||javaList.contains("abc")||javaList.contains("abc")) {
//do something
}
我怎样才能以更好的方式做到这一点?
解决方案
contains
在 a上运行通常Set
比在 a 上运行更有效List
。因此,我建议您创建一个Set
要测试的元素,然后流式传输List
以查看其任何元素是否匹配:
怎么样:
if (javaList.stream().anyMatch(e -> Set.of("aaa","abc","def").contains(e)))
推荐阅读
- assembly - 为什么堆栈中地址的大小大于保存的eip地址的大小?
- javascript - 为什么事件“transitionend”会触发两次?
- javascript - 如果'React'是'react'的默认导出,为什么我们不能使用其他名称而不是'React'
- javascript - 项目从 Babel 6 迁移到 Babel 7 -> 错误导入/导出不在顶层
- python - 使用多处理创建同一进程的多个实例
- javascript - 使用 JavaScript 从 URL 获取 id
- php - 何时在 PHP 中使用 OCI_B_INT?
- angular - 由 componentFacory 动态创建的组件的 elementRef 的 InnerHtml 不包含绑定值
- typo3 - TYPO3:在命令控制器中翻译 mm 记录
- python-3.x - python3:列表分配索引超出范围