如何将元素添加到由String []组成的hashSet中

问题描述 投票:0回答:2

有问题我做了研究,但没有得到答案。可能我不是在寻找我需要的考试期限。这是我的问题。

Type mapType = new TypeToken<Map<String, String>>() {
               }.getType();

Map<String, String[]> result = new Gson().fromJson(value1.get(i), mapType);
Set<String[]> setNew = result.values().stream().collect(Collectors.toSet());

这个setNew是hashSet,我按照预期在setNew中获取元素。上面的代码按预期工作,它为setNew提供了String数组(String [])。我对上面的代码没有任何问题,我认为这样我得到了所需的输出。

现在我想在setNew中添加元素。我尝试添加如何使用“setNew.add”方法添加Set,但它不允许,因为此方法仅适用于String。 .add的参数是 - > setNew.add(String [] e)。我试图将String转换为String数组,它可以工作,但它仍然不允许我将该字符串数组添加到我的setNew。

java set hashset
2个回答
0
投票

stream()跟随collect()过于复杂。您可以直接创建HashSet而无需流式传输。

Set<String[]> setNew = new HashSet<>(result.values());

然后,如果你想添加额外的String[]s,它就像这样简单:

setNew.add(new String[] {"foo"});
setNew.add(new String[] {"bar", "baz"});

0
投票

我找到了答案。我在代码中做了更改。原始代码Map<String, String[]> result = new Gson().fromJson(value1.get(i), mapType);

将代码更改为Map<String, String> result = new Gson().fromJson(value1.get(i), mapType);

String[]改为String

© www.soinside.com 2019 - 2024. All rights reserved.