#scala
Вопрос:
нужна ваша помощь, я просто новичок, который пришел в программирование на Scala.
у меня есть карта, похожая на образец ниже
Map(Y1A0001_001 -> CU, Y1D0003 -> A011, Y1C0002 -> 20211030, Y1D0000 -> four, Y1D0002 -> Today only, Y1C0001 -> 123123, Y1B0003 -> 005, Y1D0001 -> CitizenID, Y1C0000 -> Customer)
Map(Y1A0001_001 -> CU, Y1D0003 -> A011, Y1C0002 -> 20210928, Y1D0000 -> five, Y1D0002 -> Today only, Y1C0001 -> 133213, Y1B0003 -> 006, Y1D0001 -> Drive License, Y1C0000 -> Director)
Map(Y1A0001_001 -> CU, Y1D0003 -> A011, Y1C0002 -> 20210927, Y1D0000 -> six, Y1D0002 -> Both, Y1C0001 -> 452234324, Y1B0003 -> 007, Y1D0001 -> CitizenID, Y1C0000 -> Messenger)
Как я могу найти ключ, содержащий суффикс 001, и получить значение тоже в программировании Scala?
например, ключ-Y1A0001_001, а значение — «CU».
пожалуйста, простите меня, если мой вопрос недостаточно ясен
Спасибо вам за вашу помощь
Комментарии:
1.Вы хотите использовать
collectFirst
метод — Хотя, обратите внимание, что вы будете повторять всеMap
до тех пор , пока не найдете нужный вам ключ, это нормально, но это не тот вариант использования, для которого вы предназначеныMaps
, вы можете просто использоватьList
(или любую другуюSeq
) пару.
Ответ №1:
val map: Map[String, String] = ???
val result: Option[(String, String)] = map.find { case (k,v) =>
k.endsWith("001")
}