ListA.map(ele => if (ListB.contains(ele)) 1 else 0)
如果您发现自己在许多地方都这样做,您可以定义自己的功能:
def boolToInt(b: Boolean): Int ) if (b) 1 else 0
ListA.map(ele => boolToInt(ListB.contains(ele)))
或扩展方法:
implicit class BoolOps (private val b: Boolean) extends AnyVal {
@inline final def asInt: Int = if (b) 1 else 0
}
ListA.map(ele => ListB.contains(ele).asInt)
2条答案
按热度按时间o4tp2gmn1#
您还可以使用以下简单代码:
1u4esq0p2#
一
asInstanceOf
施法不是魔法转换;它只是告诉编译器闭嘴相信。然后,在运行时引入适当的检查,如果值不是正确类的示例,它将抛出异常。你可能想这样做:
如果您发现自己在许多地方都这样做,您可以定义自己的功能:
或扩展方法:
顺便说一句,
contains
在列表中是相当低效的,你们考虑过用集合代替吗?另外,尽量遵循风格惯例。