7

私は次の応答があります

T2269|175@@2a1d2d89aa96ddd6|45464047

split( "\\ |")を使用して、文字列配列オブジェクトに変換しました。各フィールドの意味は次のとおりです。

T2269                  id
175@@2a1d2d89aa96ddd6  cid
45464047               refno

いいえ、HashMapオブジェクトに変換する必要はありません。上記の解決策はありますか。

上記の応答は、例えば与えられます。実際には、文字列配列オブジェクトの長さは36です。

4

3 に答える 3

11

結果を1つずつループして追加する必要があります。次のようなキーを使用して配列を宣言します。

static String[] keys = new String[]{"id", "cid", "refno", ...};

その後

String[] s = text.split("\\|");
for (int i = 0; i < s.length; i++)
  map.put(keys[i], s[i]);
于 2012-07-05T08:33:59.380 に答える
10
final String[] fields = input.split("\\|");
final Map<String, String> m = new HashMap<String, String>();
int i = 0;
for (String key : new String[] {"id", "cid", "refno"})
  m.put(key, fields[i++]);
于 2012-07-05T08:33:58.467 に答える
0

キーは一意である必要があるため、IDをキーとして使用することは明らかに理にかなっています。値は、id、cid、refnoを含む配列/リストとして保存するか、thosフィールドを含むオブジェクトを作成して保存できます。 。

于 2012-07-05T08:35:26.180 に答える