如何在地图中查找重复值 [英] How to find duplicate values in Map

查看:53
本文介绍了如何在地图中查找重复值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下 Map [String,Int]

val m = Map[String, Int](
  "[LOGIN-011]" -> 0,
  "[LOGIN-103]" -> 3,
  "[LOGIN-222]" -> 10,
  "[ERROR-110]" -> 1,
  "[ERROR-012]" -> 3,
  ...
)

如何在 Map 并使用 List [String] 打印值,如下所示:

How to find duplicated values in the Map and print the values with List[String] as follows:

3 -> List("[LOGIN-103]", "[ERROR-012]")


推荐答案

仅在scala 2.13+以下的作品

Following works in scala 2.13+ only

val map = Map (
  "[LOGIN-011]" -> 0,
  "[LOGIN-103]" -> 3,
  "[LOGIN-222]" -> 10,
  "[ERROR-110]" -> 1,
  "[ERROR-012]" -> 3
)

val duplicateValues = map.groupMap(_._2)(_._1).filterNot(_._2.sizeIs == 1)

//Map(3 -> List([ERROR-012], [LOGIN-103]))

这篇关于如何在地图中查找重复值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆