将字符串数组转换为哈希图[重复]
Posted
技术标签:
【中文标题】将字符串数组转换为哈希图[重复]【英文标题】:Converting string array to hashmap [duplicate] 【发布时间】:2012-07-05 15:09:43 【问题描述】:我有以下回应
T2269|175@@2a1d2d89aa96ddd6|45464047
通过使用 split("\\|") 我已转换为字符串数组对象。每个字段的含义如下:
T2269 id
175@@2a1d2d89aa96ddd6 cid
45464047 refno
不,我必须将其转换为 HashMap 对象。他们是上述的任何解决方案吗..
上面的回答是举例。实际上,字符串数组对象的长度是36。
【问题讨论】:
地图中的键和值是什么?您的意思是包含三个条目的地图(id = T2269,cid = 175...,refno = 4546...)?还是一个映射,其中值是具有三个字段(id、cid、refno)的对象?在那种情况下,关键是什么? 【参考方案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]);
【讨论】:
【参考方案2】: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++]);
【讨论】:
现在如何获取一些字段[i] ??【参考方案3】:键应该是唯一的,因此显然使用 ID 作为键会很有意义,并且您可以将值存储为包含 id、cid、refno 的数组/列表,或者您可以创建一个包含这些字段的对象并存储它。
【讨论】:
以上是关于将字符串数组转换为哈希图[重复]的主要内容,如果未能解决你的问题,请参考以下文章