我正在尝试对边界框进行排序,在我的算法中,我有一条线,其中索引j的边界框等于索引j + 1
contourRects.get(j) = contourRects.get(j+1);
但这会产生一个错误,即左侧只能是可变的。
编辑:
int j;
boolean flag = true;
Rect temp;
while(flag)
{
flag = false;
for(j=0; j<contourRects.size(); j++)
{
if(contourRects.get(j).y < contourRects.get(j+1).y)
{
temp = contourRects.get(j);
contourRects(j) = contourRects.get(j+1);
contourRects.get(j+1) = temp;
}
}
}
还有一个轮廓contourRect是列表
List<Rect> contourRects = new ArrayList();
最佳答案
您可以使用f.f.g代码:
Collections.swap(contourRects, j, j + 1);
代替:
temp = contourRects.get(j);
contourRects(j) = contourRects.get(j+1);
contourRects.get(j+1) = temp;