根据给定映射中字符串的值对字符串列表进行排序

阿比舍克·辛格(Abhishek Singh)

我有一个字符串列表

val str = List("A","B","C","D")

并给出:

val map = Map(("A"->3),("B"->1),("C"->10),("D"->5))

为了根据给定的映射值对str列表进行排序,我尝试了str.sortBy(map)这给了我错误"A" key is not found有人可以帮我解决我做错了什么吗?

托玛谢塔

它应该按原样工作。让我们解释一下原因。的签名sortBy是:

def sortBy[B](f: A => B)(implicit ord: Ordering[B]): C = sorted(ord on f)

因此,当您这样做时str.sortBy(map)sortBy期望会得到String => Intstr.sortBy(map)等效于:

str.sortBy(s => map(s))

注意Map扩展MapOps(在Scala 2.13中,在Scala 2.12中是MapLike)。MapOps(和MapLike)公开一个apply方法,该方法采用(在您的情况下)String并返回Int

def apply(key: K): V = get(key) match {
  case None => default(key)
  case Some(value) => value
}

因此写作str.sortBy(map)与以下内容相同:

str.sortBy(s => map.apply(s))

与以下内容相同:

str.sortBy(map.apply)

代码在Scastie运行

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按字符串的一部分对字符串列表进行排序

来自分类Dev

根据方括号中的值对字符串进行排序

来自分类Dev

如何对字符串列表进行排序?

来自分类Dev

如何根据给定的字符顺序对字符串排序?

来自分类Dev

按字符串长度对字符串列表进行排序

来自分类Dev

根据时区字符串列表中的GMT时间对TimeZone进行排序

来自分类Dev

根据字符串中的数字对字符串列表进行排序

来自分类Dev

Java-对字符串列表进行排序,根据字符串的内容确定顺序

来自分类Dev

根据特定字段对字符串列表进行排序

来自分类Dev

如何对字符串列表进行排序

来自分类Dev

根据数字对混合字符串列表进行排序

来自分类Dev

根据要删除的字符串列表删除字符串末尾的子字符串

来自分类Dev

如何根据给定的排序层次结构自定义对字符串列表的排序?

来自分类Dev

根据java中的double值对字符串列表进行排序

来自分类Dev

Python根据列表中字符串的出现次数对字符串进行排序

来自分类Dev

TCL:根据字符串的一部分对字符串列表进行排序

来自分类Dev

按字符串的一部分对字符串列表进行排序

来自分类Dev

按map值对字符串列表进行排序

来自分类Dev

根据另一个字符串列表对字符串列表进行排序

来自分类Dev

按字符串长度对字符串列表进行排序

来自分类Dev

根据时区字符串列表中的GMT时间对TimeZone进行排序

来自分类Dev

如何基于字符串值的参考列表排序字符串列表

来自分类Dev

根据特定字段对字符串列表进行排序

来自分类Dev

如何对字符串列表进行排序

来自分类Dev

根据字典值字符串中存在的“子字符串”对字典进行排序

来自分类Dev

根据多个谓词对字符串列表进行排序

来自分类Dev

使用流进行哈希映射的字符串列表

来自分类Dev

Scala - 从单个字符串中删除字符串列表/映射中的所有元素

来自分类Dev

根据字符串中的特定值进行排序。

Related 相关文章

  1. 1

    按字符串的一部分对字符串列表进行排序

  2. 2

    根据方括号中的值对字符串进行排序

  3. 3

    如何对字符串列表进行排序?

  4. 4

    如何根据给定的字符顺序对字符串排序?

  5. 5

    按字符串长度对字符串列表进行排序

  6. 6

    根据时区字符串列表中的GMT时间对TimeZone进行排序

  7. 7

    根据字符串中的数字对字符串列表进行排序

  8. 8

    Java-对字符串列表进行排序,根据字符串的内容确定顺序

  9. 9

    根据特定字段对字符串列表进行排序

  10. 10

    如何对字符串列表进行排序

  11. 11

    根据数字对混合字符串列表进行排序

  12. 12

    根据要删除的字符串列表删除字符串末尾的子字符串

  13. 13

    如何根据给定的排序层次结构自定义对字符串列表的排序?

  14. 14

    根据java中的double值对字符串列表进行排序

  15. 15

    Python根据列表中字符串的出现次数对字符串进行排序

  16. 16

    TCL:根据字符串的一部分对字符串列表进行排序

  17. 17

    按字符串的一部分对字符串列表进行排序

  18. 18

    按map值对字符串列表进行排序

  19. 19

    根据另一个字符串列表对字符串列表进行排序

  20. 20

    按字符串长度对字符串列表进行排序

  21. 21

    根据时区字符串列表中的GMT时间对TimeZone进行排序

  22. 22

    如何基于字符串值的参考列表排序字符串列表

  23. 23

    根据特定字段对字符串列表进行排序

  24. 24

    如何对字符串列表进行排序

  25. 25

    根据字典值字符串中存在的“子字符串”对字典进行排序

  26. 26

    根据多个谓词对字符串列表进行排序

  27. 27

    使用流进行哈希映射的字符串列表

  28. 28

    Scala - 从单个字符串中删除字符串列表/映射中的所有元素

  29. 29

    根据字符串中的特定值进行排序。

热门标签

归档