Java中验证列表是否包含集合中至少一个元素的简便方法
Java 更简洁的集合匹配实现方案
你要做的是检查列表myList里是否至少有一个元素的getName()返回值存在于集合names中,下面给你几种Java里更简便的实现方式:
Java 8及以上:流式API实现
这是最简洁的写法,利用Stream的anyMatch方法,逻辑和你原来的循环完全一致(找到匹配项就立即终止遍历),代码更紧凑:
private boolean validateMyList(List<myObject> myList, Set<String> names) { return myList.stream().anyMatch(obj -> names.contains(obj.getName())); }
anyMatch是短路操作,一旦找到符合条件的元素就停止遍历,效率和你原来的代码一样,只是写法更优雅。
低版本Java兼容说明
如果你的项目还在使用Java 8之前的版本,那你原来的循环写法已经是最优解了——早期Java没有内置的简洁API来实现这种带终止的匹配逻辑,手动循环就是最高效简洁的方式。
内容的提问来源于stack exchange,提问作者myTest532 myTest532
相关产品推荐
相关产品推荐

