次のスキーマで互いにマップされているオブジェクトの 2 つの配列があるとします。
配列1:
String [] prog_types1 = {"Program1","Program2","Program3","Program4"};
および array2 :
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 およびそれをベクトルに入れた後)...
-- ハッシュセット付きハッシュテーブル
-- 可能なもう 1 つの配列
私が探している方法は、前に説明したすべての方法のように、prog1 オブジェクトに対して同じ prog2 オブジェクトを再度作成することではなく、たとえばインデックス位置によって、または他の方法でマップする必要があります。それを解決するための素晴らしいアルゴリズムの方法を探しているだけです...
前もって感謝します
ps 1つのパッケージ内で2つのクラス間でのみ使用する必要があり、主な用途はprog1タイプの値に基づくprog2タイプの値の母集団です
PS2 Java7