Java 将字符串数组转换为hashmap

Java 将字符串数组转换为hashmap,java,hashmap,logic,Java,Hashmap,Logic,我有以下回应 T2269|175@@2a1d2d89aa96ddd6|45464047 通过使用拆分(“\\\\”)我已转换为字符串数组对象。每个字段的含义如下: T2269 id 175@@2a1d2d89aa96ddd6 cid 45464047 refno 不,我必须将其转换为HashMap对象。他们是否有解决上述问题的办法 例如,给出了上述响应。在实数中,字符串数组对象的长度为36。final string[]field

我有以下回应

T2269|175@@2a1d2d89aa96ddd6|45464047
通过使用拆分(“\\\\”)我已转换为字符串数组对象。每个字段的含义如下:

T2269                  id
175@@2a1d2d89aa96ddd6  cid
45464047               refno
不,我必须将其转换为HashMap对象。他们是否有解决上述问题的办法

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

final string[]fields=input.split(“\\\\”);
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++]);
final Map m=新的HashMap(); int i=0; for(字符串键:新字符串[]{“id”、“cid”、“refno”}) m、 put(键,字段[i++]);
您必须循环并逐个添加结果。 用键声明一个数组,类似于:

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]);
String[]s=text.split(“\\\\”);
对于(int i=0;i
键应该是唯一的,因此显然使用ID作为键是非常有意义的,您可以将值存储为包含ID、cid、refno的数组/列表,或者您可以创建一个包含这些字段的对象并存储它。

地图中的键和值是什么?你是说有三个条目(id=T2269,cid=175…,refno=4546…)的地图吗?或者一个映射,其中值是具有三个字段(id、cid、refno)的对象?在这种情况下,关键是什么?现在如何获取一些字段[i]??