【发布时间】:2016-10-19 13:22:15
【问题描述】:
我们在使用 java 作为代码技术来实现我们的客户要求之一方面面临挑战。 我们需要对系统给出的输入进行格式化,以用户友好的格式显示数据。
下面是我们程序的输入数据。 它是一个 java 映射,键为字符串,值为字符串列表
OP1004=[],
OP1006=[OP1004]
OP1005=[OP1003]
OP1009=[OP1006, OP1044, OP1046, OP1004],
OP1016=[OP1008, OP1009, OP1044, OP1005, OP1004],
我们期望的输出如下。
OP1004=[],
OP1006=[OP1004]
OP1005=[OP1003]
OP1009=[OP1006, OP1044, OP1046], //here 1004 is deleted
OP1016=[OP1008, OP1009, OP1005, OP1004], //here 1044 is deleted
这里,如果我们仔细观察,我们想从列表中删除重复的值,即
如果我们通过底部,即 OP1016 包含 OP1008、OP1009 等列表。其中 OP1009 也包含 OP1006、OP1044 等列表。其中 OP1006 再次包含 OP1004 列表 所以在这里我们要从 OP1009 中删除 OP1004,因为它已经映射到其他(OP1006)OPID,它是 OP1009 的一部分。
实际上我们是在层次结构/流程图中显示它,所以我们想删除对项目的重复导航。
请帮助我们提供解决方案。提前感谢您的帮助。
谢谢
【问题讨论】:
-
请张贴一些您目前尝试过的代码。
-
您是否考虑过使用集合而不是列表?
-
循环遍历 Map 的每个键。键的内部值 - 如果找到重复项,则循环遍历您的数组列表,将其删除。或者,按照@AshFrench 所说的那样做:)。
标签: java list duplicates