|
1
2
我首先建议您将次优数据表示规范化为如下所示。然后你只需要维护两张地图。然后很容易在它们之间迭代并以您想要的方式显示。 如果你能用 google-guava 然后,使用multiset对库进行分组比使用id进行分组更容易。 下面是我的方法的高级细节。您可以使用“reportbuilder.build(plan1,plan2)”的返回类型,并根据其他人的建议使用apache poi创建Excel。
公共班级计划 { 私有最终字符串ID;
}
|
|
|
2
2
所以在一个Excel文件中有两组要比较的哈希图,两组数据中的信息可能相同,也可能不同…(假设他们有相同的信息,他们在地图中可能有或没有相同的键) 我不确定我是否知道你到底遇到了什么问题,但下面是我如何快速解决的。 我会用一个小类来保存行标签(“PlanFeatures”,例如),并保存要比较的两个映射的值(例如vala、valb),这样:
我将把这两组哈希图组合在一个结果中
然后,我将遍历第一组哈希图,创建thisisarow的新实例,为每个实例设置标签和vala值。
然后,我将遍历第二组哈希映射,首先检查结果中是否已经有thisisarow实例
然后我会用 Apache POI 在Excel文件中写下所有内容。(然后,您只需遍历生成的哈希图,每行打印一个thisisarow实例。)
我希望这有帮助。如果你需要澄清或我偏离轨道,请告诉我! |