하나의 ArrayList에 사각형이 채워져 있습니다. 나는 Map에 내용을 추가하고 싶습니다. Key는 X 좌표이고 value는 같은 X 코드가있는 List입니다.지도에 값을 추가하는 중 호환되지 않는 유형
나는 함수
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);
}
});
}
을 가진하여이 작업을 수행 할 수 있습니다하지만 난 다음과 같은 뭔가 경우-else 문을 제거합니다.
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));
});
}
부울을 목록으로 변환 할 수 없으므로 오류가 발생합니다. 지도에서 ArrayList에 새 Rectangle을 추가하거나 새 ArrayList를 만들면 대신 ArrayList를 반환하기 위해 부울 값을 반환합니다.
어떻게하면됩니까? ?
가mapSameXCordRectangles.put(
table.x,
mapSameXCordRectangles.containsKey(table.x) ?
mapSameXCordRectangles.get(table.x).add(table) :
new ArrayList<>().add(table));
귀하의 부울 :
제안 해 주셔서 감사합니다. – nandeesh
안녕하십니까. – GhostCat