这个问题困扰着我,我想看看大家对此有何看法。
我有几个实体是部门商店、便利店和食品中心等,它们链接到一个数据库,数据库中有一个表,其中有一个实体可以返回它们的相关信息,例如它们的名称、位置等。
我想对我的应用程序上从用户位置到各种地标的距离进行排序,例如,我的db中可能有4个部门商店、便利店和食品中心,应用程序上的输出将是
我的理解是,如果我想以这种方式对其进行排序,我将不得不研究多态,即在诸如地标实体这样的公共类下扩展这个类。并为地标实体创建一个比较器。
我只想知道是否还有其他方法可以实现基于距离的排序,因为我的想法是创建一个ArrayList<Landmark>并添加各种不同的实体。
还有其他方法来实现这一点吗?
任何帮助都是非常感谢的。
发布于 2013-10-20 11:07:17
我会使用一个对象,距离中间级:
@Data
public class ToSort<T> {
private T entity;
private double distanceToUser;
}然后为它实现一个比较器(基于distanceToUser)来对ToSort列表进行排序。
注意:"multimap“也是可能的,以距离作为键,对象作为值(像TreeMultimap,但您需要每个T是可比的)。
https://stackoverflow.com/questions/19476543
复制相似问题