Scala 如何查找在映射键中找到的最大值
我有一个map[String,String]类型的映射,其键如下:Scala 如何查找在映射键中找到的最大值,scala,Scala,我有一个map[String,String]类型的映射,其键如下: "dealership_id_1" "dealership_id_3" "dealership_id_7" "dealership_id_39" 如何从密钥中获取ID的最大值?i、 e.在这种情况下是39 将id值提取到列表中是否困难? 名单(1,3,7,39) 我的map可能有100个键,因此我认为这应该是一个性能问题。使用正则表达式: val id = """_(\d+)""".r val ids = map.keys.c
"dealership_id_1"
"dealership_id_3"
"dealership_id_7"
"dealership_id_39"
如何从密钥中获取ID的最大值?i、 e.在这种情况下是39
将id值提取到列表中是否困难?名单(1,3,7,39) 我的map可能有100个键,因此我认为这应该是一个性能问题。使用正则表达式:
val id = """_(\d+)""".r
val ids = map.keys.collect { case id(x) => x }
使用正则表达式:
val id = """_(\d+)""".r
val ids = map.keys.collect { case id(x) => x }
100条参赛作品并不多
100个条目并不多我同意@Alvaro Carrasco解决方案,但
map.keys.map()
实际上创建了新的集合。我宁愿使用迭代器
,但它不能做到这一点:
def maxKeySuffix[T](map: Map[String, T]): Int =
map.keys.iterator.map(_.stripPrefix("dealership_id_").toInt).max
我确实同意@Alvaro Carrasco解决方案,但是
map.keys.map()
实际上创建了新的集合。我宁愿使用迭代器
,但它不能做到这一点:
def maxKeySuffix[T](map: Map[String, T]): Int =
map.keys.iterator.map(_.stripPrefix("dealership_id_").toInt).max
这些钥匙有什么共同之处?前缀“经销商id”或其他什么?这些钥匙有什么共同点?前缀“经销商id”或其他什么?