我想使用Collections.swap
向上和向下移动自定义数组项目,但我不明白如何以某种方式实现它,以便我的应用程序不会崩溃。向上或向下移动自定义数组项目
private List<Drinks> myDrinks = new ArrayList<Drinks>();
private ArrayList<String> yourItems;
...
private void populateDrinkList() {
if (yourItems.contains("pie")){
myDrinks.add(new Drinks("a"));
myDrinks.add(new Drinks("b"));
myDrinks.add(new Drinks("c"));
myDrinks.add(new Drinks("d"));
myDrinks.add(new Drinks("e"));
if (yourItems.contains("chocolate")){
String toMoveUp = "e";
while (myDrinks.indexOf(toMoveUp) != 0) {
int i = myDrinks.indexOf(toMoveUp);
Collections.swap(myDrinks, i, i - 1);
}
}
你能有个例子来说,你是怎么想你的代码 –
的输出中输入所以什么问题? –
我想改变数组项的位置。例如,如果我的其他数组包含值巧克力(yourItems),我想要移动,myDrinks值的位置优先。如果你有巧克力,你更有可能制作配方e – JavaGrassHopper