Java 2D ArrayList 和排序

标签 java arraylist 2d

我需要按商品所在的过道对购物 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/

相关文章:

java - 在 HashSet 的 ArrayList 中重新创建 HashSet

java - 从 ArrayList 写入 Excel 表 ListIterator

python - Matplotlib:3D 数据的正交投影(在 2D 图中)

c++ - OpenGL:如何在不移动整个场景的情况下移动二维对象?

java - 如何将图像添加到可绘制资源文件

java - 如何使用jooq codegen自动添加自定义字段来构建pojos?

java - 如何从项目中的任何位置访问数组列表并仅与其中的一个对象交互

Java 2D 平台游戏 - 一些逻辑/物理怪癖

java - scala中的静态内部类

java - 如何测试某些异步过程的结果?