我将要解释的这个概念似乎很难讨论,但是我将尝试提供尽可能多的细节。

因此,这里有2个班级。其中一个用于设置setter和getter的属性,另一个文件是我进行所有比较的主要文件。

我要进行的比较是在数组内,但是要考虑的属性太多。这是当前的样子:

[[Year, Month, type1, type2, name, $], [Year, Month, type1, type2, name, $], [Year, Month, type1, type2, name, $]]


只有两个整数,即$和year,其余为字符串。
现在您对我正在使用的属性类型有了一个想法,下面是一个小片段,我正在使用该片段从Excel中收集这些信息。

ArrayList<customType> workList = new ArrayList<customType>();
 for (int i = start; i <= end; i++) {
     Row r = sheet.getRow(i);
    ArrayList tmp = new ArrayList();
      tmp.setYear((int) row.getCell(0).getNumericCellValue());
      tmp.setMonth(row.getCell(1).getStringCellValue());
      tmp.setType1(row.getCell(2).getStringCellValue());
      tmp.setType2(row.getCell(3).getStringCellValue());
      tmp.setName(row.getCell(4).getStringCellValue());
      tmp.setPrice((int) row.getCell(5).getNumericCellValue());

    workList.add(temp);
 }


好的,所以我在arraylist中有大约500行的列表。它们从Excel中按年和月排序。

例如:


2010年12月游戏射击游戏HaloReach $ 45
2010年12月Game Racing Forza $ 60
2010年12月等等等等等
2011年1月等等等
2011年1月Game Forza竞速赛$ 60
2011年1月Game Shooter HaloReach $ 45
2011年2月游戏局垄断$ 20
2011年3月等等等等
2011年3月等等等等
2011年4月游戏射击游戏HaloReach $ 45


因此对于HaloReach游戏,您可以看到它在3月和2月缺少一个字段。我想返回到列表中并添加年,月,type1,type2,名称,但要放$ 0的值,同时查看Monopoly游戏,它将来或现在都不存在,我想复制粘贴$ 0的商品,但我列出的每个月。

例如:


2010年12月游戏射击游戏HaloReach $ 45
2010年12月Game Racing Forza $ 60
2010年12月游戏局垄断$ 0
2010年12月等等等等等
2011年1月等等等
2011年1月Game Forza竞速赛$ 60
2011年1月Game Shooter HaloReach $ 45
2011年2月Game Forza竞速赛$ 0
2011年2月游戏射击游戏HaloReach $ 0
2011年2月游戏局垄断$ 20
2011年3月等等等等
2011年3月等等等等
2011年3月Game Forza竞速赛$ 0
2011年3月游戏射击游戏HaloReach $ 0
2011年3月游戏局垄断$ 0


我可以为此使用哈希集吗?我一直在尝试,但是无法完成。我喜欢500行注释代码大声笑。

我这样做的主要原因是,我可以创建另一个arrayList,该数组将保存前几个月的$$临时arrayList。例:
该数组列表将仅显示当前月份:

  2011 Mar Game Racing Forza [60, 60, 0, 0] <-- from latest to oldest
  2011 Mar Game Shooter HaloReach [45, 0, 45, 45]
  etc..


如果名称未显示在列表中,我想在价格上添加0。但是我想查看当月。有更好的方法吗?如果需要,我可以尝试提供更好的解释。

编辑:我没有mysql数据库就完成了。我花了6个多小时。谢谢大家的建议。也许下次我会尝试mysql方法。

最佳答案

一种更有意义的方法是使用像MySQL这样的真实数据库,您可以使用SQL轻松地对其进行查询,排序和组织。这将为您想要处理这些数据提供简单的解决方案。到目前为止,您选择的道路只会导致疯狂和绝望。

关于java - Java ArrayLists-涉及比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11641458/

10-11 00:18