加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Scala中,如何使用List.min或List.max中的Ordering [T],并保持

发布时间:2020-12-16 09:46:48 所属栏目:安全 来源:网络整理
导读:在Scala 2.8中,我需要调用List.min并提供我自己的比较函数,以获取基于Tuple2的第二个元素的值。我不得不写这样的代码: val list = ("a",5) :: ("b",3) :: ("c",2) :: Nillist.min( new Ordering[Tuple2[String,Int]] { def compare(x:Tuple2[String,Int],
在Scala 2.8中,我需要调用List.min并提供我自己的比较函数,以获取基于Tuple2的第二个元素的值。我不得不写这样的代码:

val list = ("a",5) :: ("b",3) :: ("c",2) :: Nil

list.min( new Ordering[Tuple2[String,Int]] { 
  def compare(x:Tuple2[String,Int],y:Tuple2[String,Int]): Int = x._2 compare y._2 
} )

有没有办法使这个更可读或创建一个匿名功能的排序,就像你可以用list.sortBy(_._ 2)一样?

解决方法

呃,你们让穷人发现自己呢。相当破旧的表现。你可以再刮一点,写得像这样:

list min Ordering[Int].on[(_,Int)](_._2)

这还是太嘈杂,但这是我们现在的地方。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读