我正在尝试创建一个将接受用户订单的程序。我的问题是我不能按字母顺序对食物进行分类,因为我有3个单独的列表框,第一个列表框用于食物名称,第二个用于食物数量,第三个列表框用于食物价格。我想要的是第二个和第三个列表框跟随第一个列表框,例如,如果列表框包含橙色(2个)(1美元),甜瓜(3个)(2美元),苹果(1个)(4美元)
它看起来如何:
Orange | 2pcs | $1
Melon | 3pcs | $2
Apple | 1pcs | $4
然后按下"排序"按钮我希望它看起来像这样:
Apple | 1pcs | $4
Melon | 3pcs | $2
Orange | 2pcs | $1
排序第一个列表框后,我不知道如何处理第二个和第三个列表框。 我不知道如何使第二个和第三个按照第一个列表框的顺序。
http://postimg.org/image/awxe4pk4t/ 用户将输入食物名称,并在组合框中选择所需的数量。然后在按下添加到购物车按钮后,程序会将输入添加到列表框中,价格将根据用户输入的食物显示在第3个列表框中。此程序中只声明了10种食物类型。 / p>
答案 0 :(得分:0)
您可以将所有参数放入结构中,如下所示:
public class OrderItem {
public String foodName;
public int price;
public int quantity;
}
使用List<OrderItem>
代替三个参数列表;
用它排序:
List<OrderItem> list = new ArrayList<>();
...
Collections.sort(list, new Comparator<OrderItem>() {
@Override
public int compare(OrderItem item1, OrderItem item2) {
return item1.foodName.compareTo(item2.foodName);
}
});
之后将params分别放入列表框中;
您还可以为OrderItem
字段使用getter和setter,而不是公共字段,但这是最简单的方法。