Я хотел бы проверить, задан ли конкретный массив (со значениями int [] как значения) для определенного int [].java array как значение в карте
Я уже пробовал это.
private static final int[][] neighbours = {
{-1, 0}, {-1, +1},
{0, -1}, {0, +1},
{+1, -1}, {+1, 0}};
List<int[]> drawAt = new ArrayList<>();
for (int[] tilePos : imageCoordMap.values()) {
for (int[] neighbour : neighbours) {
int[] wtf = {tilePos[0] + neighbour[0], tilePos[1] + neighbour[1]};
if (imageCoordMap.containsValue(wtf)) {
drawAt.add(wtf);
}
}
}
значение карты imageCoordMap содержит координаты х и у в виде массива.
Проблема с моим кодом по какой-то причине imageCoordMap.containsValue (wtf) всегда возвращает true, даже если это не так, и я не могу понять, почему. Я уже пробовал отладки, но без успеха
Что такое ImageCoordMap? – Natecat
это карта, которую я создал, с одной стороны, изображение, а с другой - координата этого изображения на сетке, которую я рисовал. Теперь я хотел бы проверить, содержит ли значение этой карты массив int []: int [] wtf = {tilePos [0] + сосед [0], tilePos [1] + сосед [1]} ;. Но почему-то это всегда возвращает true, даже если это не должно – Joey
Как вы отлаживали? Можете ли вы выводить значения imageCoordMap, а затем приводить пример, где он возвращает true, но не должен? – lustoykov