我将要解释的这个概念似乎很难讨论,但我会尽可能地提供尽可能多的细节。
所以有2个班。其中之一是设置setter和getter的属性,另一个文件是我主要进行所有比较的文件。
我想要做的比较在数组中,但是有太多的属性需要考虑。这是目前的样子:
[[Year, Month, type1, type2, name, $], [Year, Month, type1, type2, name, $], [Year, Month, type1, type2, name, $]]只有两个是整数是$和year,其余是字符串。
现在您已经了解了我在玩什么样的属性,下面是我用来从Excel收集这些信息的一小段代码。
ArrayList workList = new ArrayList();
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);
}好的,所以我在列表中列出了500行。它们按照年份和月份从Excel中排序。
例如:
2010年12月游戏射击游戏HaloReach $ 45
2010年12月赛车Forza $ 60
2010年12月等等等等等
2011年1月等等等等
2011年1月赛车竞速Forza $ 60
2011年1月游戏射击游戏HaloReach $ 45
2011年2月游戏板专卖$ 20
2011年3月等等等等
2011年3月等等等等
2011年4月游戏射击游戏HaloReach $ 45
所以对于HaloReach游戏,你可以看到它在3月和2月缺少一个字段。我想回到列表中,并添加年份,月份,类型1,类型2,名称,但对于放置$ 0的值而言,看着大富翁游戏,它不存在未来或现在,我想复制粘贴与$ 0的东西,但我已列出的每个月。
例如:
2010年12月游戏射击游戏HaloReach $ 45
2010年12月赛车Forza $ 60
2010年12月游戏委员会专卖$ 0
2010年12月等等等等等
2011年1月等等等等
2011年1月赛车竞速Forza $ 60
2011年1月游戏射击游戏HaloReach $ 45
2011年2月赛车Forza $ 0
2011年2月游戏射击游戏HaloReach $ 0
2011年2月游戏板专卖$ 20
2011年3月等等等等
2011年3月等等等等
2011年3月赛车竞速Forza $ 0
2011年3月游戏射击游戏HaloReach $ 0
2011年3月游戏板专卖$ 0
我可以用这个哈希集?我一直在尝试这个,但我无法完成。我有500行评论代码哈哈。
我这样做的主要原因是我可以去创建另一个arrayList,它会在前几个月保存一个临时的数组列表$$。例:
此数组列表将只显示当前月份:
2011 Mar Game Racing Forza [60, 60, 0, 0]
2011 Mar Game Shooter HaloReach [45, 0, 45, 45]
etc..如果名称没有显示在列表中,我想为价格添加0 ..但我想查看当前月份。有没有更好的方法呢?如果需要,我可以尝试提供更好的解释。
编辑:我没有MySQL数据库完成。我花了6个多小时。感谢球员的建议。也许下次我会尝试mysql方法。