我正在尝试对边界框进行排序,在我的算法中,我有一条线,其中索引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;

10-06 12:51