【发布时间】:2014-01-12 08:10:14
【问题描述】:
我想使用 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);
}
}
【问题讨论】:
-
您能否举例说明您希望代码的输出和输入方式
-
那是什么问题?
-
我想改变数组项的位置。例如,如果我的其他数组包含值 Chocolate(yourItems),我想移动 myDrinks 值的位置以优先考虑。如果你有巧克力,你更有可能制作食谱 e
-
这应该可以正常工作。您遇到了什么错误?
-
它不起作用,因为 List 类型是自定义而不是 String
标签: java android arrays sorting