我需要在Map中插入一些数据,这些数据需要一个String作为键,一个字符串列表作为值,但我不知道该怎么做。
这是我试图做的事情。
首先,我创建了一个HashMap,然后我创建了一个新对象,现在出现了问题。
我创建一个新的字符串列表给它一个名字,然后我认为我必须使用" put"方法,但它错了,因为我有一个错误告诉:"方法put(String,List)在HashMap类型>不适用于参数(String,boolean)"。
为什么是布尔值?当我在Eclipse中输入.put()时,它告诉我它希望参数是" List值",好的,但我该怎么写呢?你能更好地解释一下这个问题吗?感谢。
public class Main {
public static void main(String[] args) {
HashMap<String, List<String>> dizionarioMultilingua;
dizionarioMultilingua = new HashMap<String, List<String>>();
List<String> list = new ArrayList<>();
dizionarioMultilingua.put("dds", list.add(""));
}
}
答案 0 :(得分:1)
您的代码中存在一个小错误。由于put方法需要String和列表,因此您应该将列表作为第二个参数提供。不, list.add(&#34;&#34;)。 List.add()返回一个布尔值,说明我们指定的元素是否已成功添加到列表中。
public class Main {
public static void main(String[] args) {
HashMap<String, List<String>> dizionarioMultilingua;
dizionarioMultilingua = new HashMap<String, List<String>>();
List<String> list = new ArrayList<>();
list.add("");
dizionarioMultilingua.put("dds", list);
}
答案 1 :(得分:1)
ArrayList#add()返回布尔值,因此看起来像是放<String,Boolean>
,而预期是<String, List<String>>
你需要做的是先填充字符串列表,然后将其放入地图
List<String> list = new ArrayList<>();
list.add("item1")
list.add("item2")
list.add("item3")
dizionarioMultilingua.put("dds", list);
答案 2 :(得分:0)
答案 3 :(得分:0)
问题在于:dizionarioMultilingua.put("dds", list.add(""));
这是因为list.add("")
返回boolean,指示元素是否已成功添加到列表中。
如果您想将列表放入HashMap,那么首先应填写列表然后将其放入。
答案 4 :(得分:0)
您需要在列表之前添加字符串,然后再放入&#34;它在地图上。
List<String> list = new ArrayList<>();
list.add("");
dizionarioMultilingua.put("dds", list);
拨打&#34;列表&#34; vs.&#34; list.add(&#34;&#34;)&#34;在第一个引用对象List的意义上是非常不同的,而第二个只是一个将返回布尔值的方法调用。