Java 确定集合中是否存在冲突
我有一个JavaJava 确定集合中是否存在冲突,java,Java,我有一个JavaHashMap,包含5个条目。映射到每个条目的对象包含: x值 y值 一段 方向(水平或垂直) 想象一下有10 x 10板的战舰游戏。每个条目中的x/y坐标对应于船在板上的左上角,而长度和方向,正如人们所期望的,对应于从该点开始的船的长度和方向 我正试图想出一个办法,把这5艘船拆开,看看船上是否有“重叠的船只”,也就是所谓的冲突。我不知道该怎么做。任何帮助都将不胜感激。一种方法是: 1) 为电路板中的每个单元分配一个数字,1-100(或0-99) 2) 向hashmap中的内
HashMap
,包含5个条目。映射到每个条目的对象包含:
- x值
- y值
- 一段
- 方向(水平或垂直)
rowNumber*10+columnNumber
的操作来计算第一个唯一id。您可能需要根据您是基于0还是基于1,或者您的范围也是基于0还是基于1来调整它。从这里开始,如果是水平的,您只需为每个长度单位添加1。或者,如果您的作品是垂直的,则为每个唯一id添加10
3) 现在您可以有一个带有静态方法的碰撞检测器类,它包含两个部分。它可以调用您在步骤2中创建的方法,获取两个列表,如果有任何重叠,您将在两个列表中找到相同的数字
我不知道这是否是最好的方法,但这是一种方法。如何将它们放入hashmap?这里讨论了类似的问题。注意:条目是一对(键、值)。