搜索 Scala 数组以找到一个值并将其映射到(没有值的数组,值)
Searching Scala array to find a value and mapping it to (Array without the Value,Value)
我有一个以下形式的 Scala 数组:
temp: Array[(Array[String], Long)]
# Eg. Array((Array(attr1,1.0,attr2),15),(Array(1.0,attr5),15),(Array(attr3,attr4,0.0),15),(Array(attr3,attr4),5))
我需要获取这个数组并将其映射到
temp: Array[(Array[String],String, Long)]
# Eg. Array((Array(attr1,attr2),1.0,15),(Array(attr5),1.0,15),(Array(attr3,attr4),0.0,15),(Array(attr3,attr4),NULL,15))
我正在搜索字符串 1.0 和 0.0 并创建一个新数组,其中 1.0 和 0.0 从原始数组中删除。如果 1.0 和 0.0 不存在,则使用 NULL 作为值。
有没有简单的方法来做到这一点?
将集合中的元素从一种类型更改为另一种类型?听起来像 map
.
temp.map{ case (ss,l) =>
( ss.filterNot(_ matches "[01]\.0")
, ss.find(_ matches "[01]\.0").getOrElse("NULL")
, l )
} // res0: Array[(Array[String], String, Long)]
我有一个以下形式的 Scala 数组:
temp: Array[(Array[String], Long)]
# Eg. Array((Array(attr1,1.0,attr2),15),(Array(1.0,attr5),15),(Array(attr3,attr4,0.0),15),(Array(attr3,attr4),5))
我需要获取这个数组并将其映射到
temp: Array[(Array[String],String, Long)]
# Eg. Array((Array(attr1,attr2),1.0,15),(Array(attr5),1.0,15),(Array(attr3,attr4),0.0,15),(Array(attr3,attr4),NULL,15))
我正在搜索字符串 1.0 和 0.0 并创建一个新数组,其中 1.0 和 0.0 从原始数组中删除。如果 1.0 和 0.0 不存在,则使用 NULL 作为值。 有没有简单的方法来做到这一点?
将集合中的元素从一种类型更改为另一种类型?听起来像 map
.
temp.map{ case (ss,l) =>
( ss.filterNot(_ matches "[01]\.0")
, ss.find(_ matches "[01]\.0").getOrElse("NULL")
, l )
} // res0: Array[(Array[String], String, Long)]