GUIでアカウントを表示する場合、プライマリアカウントを表示する必要があります(セカンダリアカウントの場合)。プライマリアカウントごとに複数のセカンダリアカウントが存在する可能性があります。
プライマリアカウントからセカンダリアカウントの情報をHashMapに保存しようとしています。なぜなら、それは後で取得する必要があるからです。
保存中に、セカンダリアカウントの指示も保存する必要があります。したがって、プライマリアカウントとしてキーを使用して2つのオブジェクトを保存する必要があります。
1) Secondary Account
2) Secondary Instruction.
アカウントオブジェクトと命令オブジェクトのequalsとハッシュコードがオーバーライドされています。
プライマリアカウントのハッシュコードをキーとして使用し、値をオブジェクトのリストとして使用しようとしています[2]
-初期化
private static final Map<Integer, ArrayList<Object[]>> primaryToSecondaryAcct = new ConcurrentHashMap<Integer, ArrayList<Object[]>>();
-値を置く
final Object[] acctInstr = new Object[2];
acctInstr[0] = acct;
acctInstr[1] = instr;
if(primaryToSecondaryAcct.get(getExistingAccount().hashCode()) != null) {
primaryToSecondaryAcct.get(getExistingAccount().hashCode()).add(acctInstr);
} else {
final ArrayList<Object[]> acctInstrList = new ArrayList<Object[]>();
acctInstrList.add(acctInstr);
primaryToSecondaryAcct.put(getExistingAccount().hashCode(), acctInstrList);
}
これが正しいかどうか、そしてそれを行うためのより良い方法があるかどうか疑問に思っています。提案してもらえますか?