0

我被这个问题困扰着,我想看看对此的一般看法。

我有一些实体,它们是百货商店、便利店和食品中心等,它们链接到一个数据库,该数据库有一个表,哪个实体返回其相关信息,例如他们的姓名、位置等。

我想对我的应用程序上从用户位置到各个地标的距离进行排序,例如,我的数据库中可能有 4 家百货公司、便利店和食品中心,并且应用程序上的用户输出将是

  1. 美食中心A(100m)

  2. 百货A(120m)

  3. 美食中心B(200m)

  4. 便利店A(220m)依此类推上升距离。

据我了解,如果我想以这种方式对其进行排序,我将不得不研究多态性,即将这些类扩展为一个公共类,例如地标实体。并为地标实体创建一个比较器。

只是想知道是否有任何其他方式可以根据距离实现这种排序,因为我的想法是创建ArrayList<Landmark>并添加各种不同的实体。

有没有其他方法可以实现这一目标?

任何帮助表示赞赏。

4

1 回答 1

0

我会使用一个对象,距离中间类:

@Data
public class ToSort<T> {
    private T entity;
    private double distanceToUser;
}

然后为它实现一个比较器(基于distanceToUser)对ToSort.

注意:“多图”也可以使用距离作为键和对象作为值(如TreeMultimap,但您需要每个都T具有可比性)。

于 2013-10-20T11:07:17.337 回答