【发布时间】:2012-08-20 19:53:31
【问题描述】:
假设我有 2 个对象数组,它们在以下模式中相互映射:
数组1:
String [] prog_types1 = {"Program1","Program2","Program3","Program4"};
和数组2:
String [] prog_types2 ={"SubProgram1","SubProgram2","SubProgram3","SubProgram4",
"SubProgram5","SubProgram6","SubProgram7","SubProgram8","SubProgram9","SubProgram10"};
正如它的名字所理解的,prog_types2 是 prog_types1 的扩展,但有一些重复的值,所以这些程序之间的完整映射看起来像这样:
prog_types1 prog_types2
ProgramType1 SubProgramType1
ProgramType1 SubProgramType2
ProgramType1 SubProgramType7
ProgramType1 SubProgramType9
ProgramType2 SubProgramType12
ProgramType2 SubProgramType7
ProgramType2 SubProgramType9
ProgramType3 SubProgramType1
ProgramType3 SubProgramType2
ProgramType3 SubProgramType21
ProgramType3 SubProgramType27
ProgramType3 SubProgramType7
ProgramType5 SubProgramType12
ProgramType5 SubProgramType9
我的问题是:从更快的处理和重用的角度来看,将这些数组相互映射的最佳方式是什么? 我已将其实现为:
-- 类集(类 prog1 和 prog2 并放入向量后)...
-- 带哈希集的哈希表
-- 可能还有一个数组
我正在寻找的方式不应该包括为 prog1 对象再次创建相同的 prog2 对象,就像前面描述的所有方式一样,而是通过例如索引位置或以任何其他方式映射它。 只是寻找一种很好的算法方法来解决它......
提前致谢
附言它应该只在几个类之间的 1 个包中使用,它的主要用途是基于 prog1 类型值的 prog2 类型值的填充
p.s.2 java7
【问题讨论】:
标签: java algorithm data-structures map java-7