У меня есть один ArrayList, заполненный прямоугольниками. Я хочу добавить содержимое на карту, где Key будет координатой X, а значение - List, которое имеет такой же X-шнур.несовместимый тип при добавлении значения к карте
я могу сделать это с помощью функции
void dummyFun(List<Rectangle> listRects)
{
Map<Integer, List<Rectangle>> mapSameXCordRectangles = new HashMap<>();
listRects.forEach((Rectangle table) ->
{
if(mapSameXCordRectangles.containsKey(table.x))
{
mapSameXCordRectangles.get(table.x).add(table);
}
else
{
List<Rectangle> lstRect = new ArrayList<>();
lstRect.add(table);
mapSameXCordRectangles.put(table.x, lstRect);
}
});
}
Но я хочу, чтобы удалить, если-другое заявление с чем-то, как показано ниже.
void dummyFun1(List<Rectangle> listRects)
{
Map<Integer, List<Rectangle>> mapSameXCordRectangles = new HashMap<>();
List<Rectangle> lstTemp = new ArrayList<>();
listRects.forEach((Rectangle table) ->
{
mapSameXCordRectangles.put(table.x,mapSameXCordRectangles.containsKey(table.x) ? mapSameXCordRectangles.get(table.x).add(table): new ArrayList<>().add(table));
});
}
Когда я это делаю, я получаю сообщение об ошибке, поскольку Boolean не может быть преобразован в List. Когда я добавляю новый Rectangle в ArrayList на карте или создаю новый ArrayList, он возвращает boolean вместо того, чтобы я хотел, чтобы он возвращал ArrayList.
Как это сделать?
Спасибо за предложение. – nandeesh
Добро пожаловать. – GhostCat