将元素放入字符串列表

时间:2016-03-24 14:44:13

标签: java string

我需要在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(""));

     }
 }

5 个答案:

答案 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)

因为,list.add(E e)返回一个布尔值。

首先,您需要通过在列表中插入多个(或任意多个)字符串项来准备列表。

然后,在最后一步,你应该用字符串映射它。

答案 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的意义上是非常不同的,而第二个只是一个将返回布尔值的方法调用。

相关问题