我将要解释的这个概念似乎很难讨论,但我会尽量提供尽可能多的细节。
所以有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 Racing Forza 60 美元
- 2011 年 1 月游戏射击游戏 HaloReach 45 美元
- 2011 年 2 月 Game Board Monopoly 20 美元
- 2011 年 3 月 等等 等等 等等 等等
- 2011 年 3 月 等等 等等 等等 等等
- 2011 年 4 月游戏射击游戏 HaloReach 45 美元
所以对于 HaloReach 游戏,你可以看到它在 3 月和 2 月缺少一个字段。我想回到列表中并添加年、月、类型 1、类型 2、名称,但是对于价值 0 美元另外,看看大富翁游戏,它不存在未来或现在,我想复制粘贴0 美元的东西,但对于我列出的每个月。
前任:
- 2010 年 12 月游戏射击游戏 HaloReach 45 美元
- 2010 年 12 月 Game Racing Forza 60 美元
- 2010 年 12 月游戏板垄断 $ 0
- 2010 年 12 月 等等 等等 等等 等等
- 2011 年 1 月 等等 等等 等等 等等
- 2011 年 1 月 Game Racing Forza 60 美元
- 2011 年 1 月游戏射击游戏 HaloReach 45 美元
- 2011 年 2 月 Game Racing Forza $0
- 2011 年 2 月游戏射击游戏 HaloReach 0 美元
- 2011 年 2 月 Game Board Monopoly 20 美元
- 2011 年 3 月 等等 等等 等等 等等
- 2011 年 3 月 等等 等等 等等 等等
- 2011 年 3 月 Game Racing 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的方法。