对对象列表进行排序的最简单方法 [英] Simplest way to sort list of objects

查看:44
本文介绍了对对象列表进行排序的最简单方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个类型为 A 的对象列表.在第一次迭代中,我为每个对象分配一个双精度值 0 <×<1 然后想根据每个对象的 x 值对其进行排序.

I have a list of objects of type A. In a first iteration I assign each object a double value 0 < x < 1 and then want to sort each object according to it's x value.

目前我使用一个包装类来存储对象和它的 x 值来制作一个可比较的列表.

Currently I use a wrapper class that stores the object and it's x value to make a comparable list.

Scala 是否提供了允许我执行以下操作的数据类型:

Is there a datatype provided by Scala that allows me something like:

 var result = new SortedList[Double, A]
 result.insert(x,a)
 result.insert(x1,a1)
 result.insert(x2,a2)

然后

  println(result.mkString)

推荐答案

实际上,您可以使用普通的 Scala 列表及其 sortBy 方法轻松完成此操作.这是一个简短的 REPL 会话,展示了如何:

You can actually do this quite easily with normal Scala lists and their sortBy method. Here's a brief REPL session showing how:

scala> class A(val value: Double) { override def toString = "A:" + value }
defined class A

scala> List(new A(6), new A(1), new A(3)) sortBy (_.value)
res0: List[A] = List(A:1.0, A:3.0, A:6.0)

这篇关于对对象列表进行排序的最简单方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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