我有以下清单 -
List((name1,233,33),(name2,333,22),(name3,444,55),())
我有另一个字符串,我想与列表匹配,并从列表中获取匹配的元素 . 列表中只有一个元素与给定的字符串匹配 .
该列表可能包含一些空元素,如上面列表中的最后一个元素所示 .
假设我正在加工字符串'name2',它只会在列表中出现一次,然后我的预期输出是 -
List(name2,333,22)
如何使用scala找到匹配的列表元素?
考虑元组列表上的 collect ,例如像这样,
collect
val a = List(("name1",233,33),("name2",333,22),("name3",444,55),())
然后
a collect { case v @ ("name2",_,_) => v }
如果只想要第一次出现,请使用 collectFirst . 此部分函数忽略不包含3个项目的元组 .
collectFirst
.find(_._1 == name2)
会更好
2 回答
考虑元组列表上的
collect
,例如像这样,然后
如果只想要第一次出现,请使用
collectFirst
. 此部分函数忽略不包含3个项目的元组 .会更好