gpt4 book ai didi

java - 向上或向下移动自定义数组项

转载 作者:行者123 更新时间:2023-12-01 06:17:27 24 4
gpt4 key购买 nike

我想使用 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 变量 ArrayList 它应该以这种方式声明:

private ArrayList<String> yourItems=new ArrayList<String>();

第二点myDrinks是一个ArrayList集合,它以Drinks对象作为参数,这意味着你不能使用String toMoveup来查看它的内部,而是使用它应该是一个 Drinks 对象:

Drinks toMoveUp=new Drinks("e");

然后:

while (myDrinks.indexOf(toMoveUp) != 0) {
int i = myDrinks.indexOf(toMoveUp);
Collections.swap(myDrinks, i, i - 1);
}

祝你好运

关于java - 向上或向下移动自定义数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20754864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com