将字符串数组转换为hashmap

Day*_*aya 5 java logic hashmap

我有以下回应

T2269|175@@2a1d2d89aa96ddd6|45464047
Run Code Online (Sandbox Code Playgroud)

通过使用split("\\ |")我已经转换为字符串数组对象.每个字段的含义如下:

T2269                  id
175@@2a1d2d89aa96ddd6  cid
45464047               refno
Run Code Online (Sandbox Code Playgroud)

不,我必须将其转换为HashMap对象.他们是上述的任何解决方案..

例如,给出了上述响应.实际上,字符串数组对象的长度为36.

tib*_*tof 11

您必须循环并逐个添加结果.使用键声明一个数组,如:

static String[] keys = new String[]{"id", "cid", "refno", ...};
Run Code Online (Sandbox Code Playgroud)

然后

String[] s = text.split("\\|");
for (int i = 0; i < s.length; i++)
  map.put(keys[i], s[i]);
Run Code Online (Sandbox Code Playgroud)


Mar*_*nik 8

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++]);
Run Code Online (Sandbox Code Playgroud)