Java在特定索引之前和之后插入元素

时间:2018-07-12 20:28:02

标签: java arraylist insert

我的代码:

ArrayList<CellNode> updateSubTour(ArrayList<CellNode> subTour, ArrayList<CellNode> fromTo){
        int i = subTour.indexOf(fromTo.get(0));
        ArrayList<CellNode> leftTour = subTour.clone();
        ArrayList<CellNode> rightTour = subTour.clone();
        leftTour.add(leftfromI,fromTo.get(1);
        rigthTour.add(rightfromI,fromTo.get(1);
        shorterTour = compare(rigthTour.distance,leftTour.distance)
        return shorterTour;
    }

fromTo是一种Pa​​ir,第一个Element是subTour中的元素,第二个是我要插入的元素。

我在subTour中有一个元素,我将使用indexOf函数找到Index。 现在,我需要在i左侧和i右侧插入元素[fromTo.get(1)]。

我没有找到一种在不覆盖其他元素的情况下插入元素的解决方案。

提前, 蒂姆

1 个答案:

答案 0 :(得分:2)

您的示例需要一些清理,但我相信我会按照您的要求进行。假设您在列表中List l的位置E处有一个元素i,并且要将对象O添加到列表中。通过执行l.add(i, O)O将被插入E之前。进行l.add(i+1, O)会将O插入E之后。