我想为一个集合创建一个扩展函数来检查一个集合是否包含任何已定义集合的项目。我考虑了两种实现:
infix fun <T> Iterable<T>.containsAny(values: Iterable<T>): Boolean = any(values::contains)
或者
infix fun <T> Iterable<T>.containsAny(values: Iterable<T>): Boolean = intersect(values).isNotEmpty()
问题是哪种方式更有效,为什么?有没有更好的解决方案?