java - Java 在特定索引之前和之后插入一个元素
问题描述
我的代码:
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 是一种 Pair,第一个 Element 是 subTour 中的元素,第二个是我要插入的元素。
我在 subTour 中有一个元素,我将使用 indexOf 函数查找索引。现在我需要在 i 的左侧和 i 的右侧插入一个元素 [fromTo.get(1)]。
我没有找到在不覆盖其他元素的情况下插入元素的解决方案。
解决方案
您的示例需要一些清理,但我相信我遵循您的要求。假设您在列表中有一个List l
包含某个元素E
的位置i
,并且您想要将对象添加O
到列表中。通过这样做l.add(i, O)
,O
将插入之前E
。做之后l.add(i+1, O)
会插入。O
E
推荐阅读
- node.js - 使用 Cheerio 从抓取页面获取信息
- c++ - 使用多个 ifstream 作为 ifstream 的向量
- r - 按列位置而不是名称对行求和
- python - Kivi 未执行,因为未找到 PIL
- python-3.x - 将多个 matplotlib 图传递给父级,并在 Python3 中将它们绘制在单独的图中
- c++ - LittleFS 文件系统,NOR 闪存的文件写入问题
- php - 部署失败:打开失败需要'/var/app/ondeck/vendor/autoload.php'
- pascal - 在 Pascal 中定义索引为 'a'..'z' 和 '0'..'9' 的单个数组
- javascript - 使用javascript在表格中隐藏类行
- matlab - MatLab:parfeval()不调用函数