あなたは、行キー、colキー、そしてその位置の値を使用するように思えます。あなたのためにそれを行う組み込みのデータ構造はありません。
最も簡単なものは、実際のデータの2次元配列です。行や列名から配列内の実際のインデックスに移動するには、次のようなものを使用します。必要に応じて、多くの名前からインデックスへのバインディングを追加します。あなたはクリーナーAPIをしたい場合
次にグリッドにその値を取得
Map<String, Integer> rows = new HashMap<String, Integer>();
Map<String, Integer> cols = new HashMap<String, Integer>();
...
grid[rows.get("Row name")][cols.get("Column name")];
はクラスでグリッドとget(String rowName, String colName)
方法を置きます。
編集:質問が更新されていて、名前とインデックスのペアが行と列の両方で同じように見えます。だからここに更新されたバージョンです:
class SquareMap<V> {
private V[][] grid;
private Map<String, Integer> indexes;
public SquareMap(int size) {
grid = (V[][]) new Object[size][size];
indexes = new HashMap<String, Integer>();
}
public void setIndex(String name, int index) {
indexes.put(name, index);
}
public void set(String row, String col, V value) {
grid[indexes.get(row)][indexes.get(col)] = value;
}
public V get(String row, String col) {
return grid[indexes.get(row)][indexes.get(col)];
}
}
のような地図を使用することができ、してみてくださいあなたの質問の表現を改善し、2Dデータ構造の使い方を示すサンプルコードを追加することができます。 –
@ヤング:私はあなたの質問を言い換えようとしました。あなたの意味が間違っていると思ったら、もう一度編集してください。 –