【发布时间】:2009-07-28 18:13:27
【问题描述】:
我有一系列数组,我从中提取数据并最终生成一个包含我想要的信息的最终数组。最终的数组是二维的,由大量一维数组组成,每个数组最多包含 3 个条目。
int[][] realOcc = new int[result.length][3];
数组保存数据的方式如下:第一个“单元格”保存名称,第二个“单元格”保存区域 ID,第三个保存出现次数 - 一个 int 值,告诉我该名称在该特定区域 ID 中出现了多少次.
使用冒泡排序算法根据名称对数组进行排序后,我自然会看到许多我不想出现的条目。例如,假设某个名称在特定区域 ID 中出现 3 次。此名称的数组条目如下所示:
Name1 regionID17 1
Name1 regionID17 2
Name1 regionID17 3
...
Name156 regionID1 1
Name168 regionID99 1
...
我想要做的是摆脱所有多余的条目,如对应于相同名称和 regID 的条目,并且只保留特定区域中每个名称的最大出现次数。因此,以上面的例子为例,我在操作数组后希望看到的是:
Name1 regionID17 3
...
Name156 regionID1 1
Name168 regionID99 1
...
任何想法都将不胜感激,因为我非常难过。请记住,由于我提取的数据数量很大,我还需要保持我的代码高效。
【问题讨论】:
标签: java arrays data-structures