存储形状的最佳方法是,稍后按指定的x,y位置返回最顶端的形状(java)
我需要实现一个存储形状的类。形状由以下界面定义:存储形状的最佳方法是,稍后按指定的x,y位置返回最顶端的形状(java),java,performance,nosql,Java,Performance,Nosql,我需要实现一个存储形状的类。形状由以下界面定义: public interface IShape { int getLeft(); int getTop(); int getRight(); int getBottom(); Properties getProperties(); } 我需要以高效的方式存储这些形状,并在以后按指定的x,y位置返回最顶端的形状。 (解决方案应支持大量形状,并且边界形状可能非常大,因此包含简单形状集合的解决方案在性能方面不够
public interface IShape {
int getLeft();
int getTop();
int getRight();
int getBottom();
Properties getProperties();
}
我需要以高效的方式存储这些形状,并在以后按指定的x,y位置返回最顶端的形状。
(解决方案应支持大量形状,并且边界形状可能非常大,因此包含简单形状集合的解决方案在性能方面不够高效,而包含每个点到其对应形状的映射的解决方案在内存方面不够高效。)
我知道我必须使用nosql数据库。但是,在db中表示形状并根据x和y拉出形状的最有效方法是什么。是性能方面的还是算法方面的,因为使用Redis等效率较低的内存方面的解决方案,即使在很多键下也可以实现非常高的性能