将字符串数组转换为哈希映射表

7
我有以下的回应。
T2269|175@@2a1d2d89aa96ddd6|45464047

使用 split("\\|") 方法,我将其转换为字符串数组对象。每个字段的含义如下:

T2269                  id
175@@2a1d2d89aa96ddd6  cid
45464047               refno

我需要将其转换为HashMap对象。有没有解决方案可以实现这一点...
上面的响应只是举例说明。实际上,字符串数组对象的长度为36。

4
你的地图中将会有哪些键和值?你是指一个包含三个条目(id = T2269,cid = 175...,refno = 4546...)的地图吗?还是一个值为具有三个字段(id,cid,refno)的对象的地图?如果是后者,那么键是什么? - assylias
3个回答

11
你需要循环并逐个添加结果。 声明一个带有键的数组,类似于以下内容:
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]);

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++]);

1
现在怎么获取一些 fields[i]? - user6384481

0

关键字应该是唯一的,所以使用ID作为关键字毫无疑问是非常合理的选择。你可以将ID、CID和Refno存储在数组/列表中,或者创建一个包含这些字段的对象并将其存储。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接