将字符串数组转换为hashmap

我有以下回应

T2269|175@@2a1d2d89aa96ddd6|45464047 

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

 T2269 id 175@@2a1d2d89aa96ddd6 cid 45464047 refno 

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

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

 final String[] fields = input.split("\\|"); final Map m = new HashMap(); int i = 0; for (String key : new String[] {"id", "cid", "refno"}) m.put(key, fields[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]); 

密钥应该是唯一的,因此显然使用ID作为密钥是完全合理的,并且您可以存储为包含id,cid,refno的数组/列表的值,或者您可以创建包含thos字段的对象并存储它。