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