小编典典

Java 2D ArrayList和排序

java

我需要按商品所在的过道对购物清单进行排序,例如:
[面包] [1]
[牛奶] [2]
[谷物] [3]

我打算使用ArrayList进行此操作,并且想知道如何制作2D ArrayList奖励问题:关于如何按过道编号排序的任何想法?


阅读 244

收藏
2020-11-26

共1个答案

小编典典

您没有开设可容纳您的物品和过道信息的课程吗?就像是:

public class Item {
  private String name;
  private int aisle;

  // constructor + getters + setters 
}

如果不这样做,请考虑创建一个-
与尝试将这些属性粘贴到另一个ArrayList中的ArrayList中相比,这绝对是一种更好的方法。讲完类后,您将需要为对象编写比较器,或者使“
Item”
本身可比较

public class Item implements Comparable<Item> {
  .. same stuff as above...

  public int compareTo(Item other) {
    return this.getAisle() - other.getAisle();
  }
}

然后,您要做的就是调用sort:

List<Item> items = new ArrayList<Item>();
... populate the list ...
Collections.sort(items);
2020-11-26