我需要按商品所在的过道对购物 list 进行排序,例如:
[面包][1]
[牛奶] [2]
[ Cereal ] [3]
我打算用 ArrayList 来做到这一点,并且想知道如何制作 2D ArrayList 额外问题:关于如何按过道编号排序有什么想法吗?
最佳答案
您没有一个类来保存您的商品+过道信息吗?像这样的东西:
public class Item {
private String name;
private int aisle;
// constructor + getters + setters
}
如果您不这样做,请考虑制作一个 - 这绝对是一种比尝试将这些属性粘贴到另一个 ArrayList 中的 ArrayList 更好的方法。一旦你完成了上述类(class),你要么需要写一个 Comparator为您的元素或制作“元素”Comparable本身:
public class Item implements Comparable<Item> {
.. same stuff as above...
public int compareTo(Item other) {
return this.getAisle() - other.getAisle();
}
}
然后你所要做的就是调用排序:
List<Item> items = new ArrayList<Item>();
... populate the list ...
Collections.sort(items);
关于Java 2D ArrayList 和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1512366/