将字符串数组转换为哈希图[重复]

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 的数组/列表,或者您可以创建一个包含这些字段的对象并存储它。

【讨论】:

以上是关于将字符串数组转换为哈希图[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用java 8流将字符串替换为哈希图值

如何将哈希图转换为条目数组[重复]

将哈希图转换为数组[重复]

如何将哈希图转换为数组?

将字符数组转换为字符串数组[重复]

将字符串转换为数组数组[重复]