1

プログラムviz table1 table2 table3などに複数のハッシュテーブルを使用しています。各テーブルには3つのキーと値のペアがあります。キーは同じで、値が異なります。私のプログラムのUIには、ユーザーからテーブル名を選択するためのcomoboboxがあります。選択したら、変数に保存し、この変数を使用して適切なテーブルを開きたいと考えています。

クエリのためにここで編集したこの作品について、Eric Coolman に感謝します。

Hashtable table1 = new Hashtable();

table1 .put("COL1", Double.toString(dvalue1));
table1 .put("COL2", value2);
table1 .put("COL3", value3);

Hashtable table2 = new Hashtable();

table2 .put("COL1", Double.toString(dvalue4));
table2 .put("COL2", value5);
table2 .put("COL3", value6);

// reading that value back:

double dvalue1 = Double.parseDouble((String)table1.get("COL1"));
double value6= Double.parseDouble((String)table2.get("COL3"));`

ここで、table1 と table2 の代わりに変数を使用するにはどうすればよいですか? 構文は何ですか。私はJavaが初めてです。

4

2 に答える 2

4

まず、構造はオブジェクト拒否のように見えます。オブジェクトとして取得したHashtableものは、おそらく3つのフィールド(、、および;またはそのより読みやすいバージョン)を持つカスタムタイプのオブジェクトである必要がcol1ありcol2ますcol3

次へ:3番目の変数を使用して、読み取るオブジェクトをオンに切り替えることができます。

Hashtable readFromMe;
if (someCondition)
  readFromMe=table1;
else
  readFromMe=table2;

Object o = readFromMe.get("COL3");

このコードは、iftable1から、それ以外から読み取ります。someConditiontruetable2

また、上記のコードの最初の5行の短いバージョンはですHashtable readFromMe = someCondition ? table1 : table2;

于 2012-07-09T11:34:51.160 に答える
1

両方のテーブルを別のハッシュ テーブルに配置し、キーを使用して必要なテーブルにアクセスします。

Hashtable<String, Hashtable> tables = new Hashtable<String, Hashtable>();
Hashtable<String, String> table1 = new Hashtable<String, String>();

table1 .put("COL1", Double.toString(dvalue1));
table1 .put("COL2", value2);
table1 .put("COL3", value3);

tables.put("table1", table1);


Hashtable<String, String> table2 = new<String, String> Hashtable();

table2 .put("COL1", Double.toString(dvalue4));
table2 .put("COL2", value5);
table2 .put("COL3", value6);

tables.put("table2", table2);

// reading that value back:

double dvalue1 = Double.parseDouble(tables.get("table1").get("COL1"));
double value6= Double.parseDouble(tables.get("table2").get("COL3"));`
于 2012-07-09T11:39:29.927 に答える