Java 将元素放入字符串列表中

Java 将元素放入字符串列表中,java,string,Java,String,我需要在一个映射中插入一些数据,该映射需要一个字符串作为键,一个字符串列表作为值,但我不知道怎么做 这是我一直在尝试的 首先,我创建了一个HashMap,然后创建了一个新对象,现在出现了问题 我创建了一个新的字符串列表,给它一个名称,然后我认为我必须使用“put”方法,但这是错误的,因为我有一个错误,告诉我:“HashMap>类型中的方法put(String,List)不适用于参数(String,boolean)” 为什么是布尔型?当我在Eclipse中键入.put()时,它告诉我它希望参数是一

我需要在一个映射中插入一些数据,该映射需要一个字符串作为键,一个字符串列表作为值,但我不知道怎么做

这是我一直在尝试的

首先,我创建了一个HashMap,然后创建了一个新对象,现在出现了问题

我创建了一个新的字符串列表,给它一个名称,然后我认为我必须使用“put”方法,但这是错误的,因为我有一个错误,告诉我:“HashMap>类型中的方法put(String,List)不适用于参数(String,boolean)”

为什么是布尔型?当我在Eclipse中键入.put()时,它告诉我它希望参数是一个“列表值”,好吧,但我该如何编写它呢?你能更好地给我解释一下这个问题吗?谢谢

 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(""));

     }
 }
公共类主{
公共静态void main(字符串[]args){
HashMap Dizionario语言;
dizionarioMultilingua=新HashMap();
列表=新的ArrayList();
Dizion.put(“dds”,list.add(“”));
}
}
因为,返回一个布尔值

首先,您需要通过向列表中插入多个(或根据您的需要)字符串项来准备列表)


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

问题在这里:
dizionarioMultilingua.put(“dds”,list.add(”)
这是因为
list.add(“”)
返回布尔值,指示元素是否成功添加到列表中


如果您想将列表放入HashMap,那么首先您应该填写列表,然后将其放入。

代码中有一个小错误。因为put方法需要一个字符串和一个列表,所以应该将该列表作为第二个参数提供。不,列表。添加(“”。返回一个布尔值,说明指定的元素是否已成功添加到列表中

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);

 }
公共类主{
公共静态void main(字符串[]args){
HashMap Dizionario语言;
dizionarioMultilingua=新HashMap();
列表=新的ArrayList();
列表。添加(“”);
Dizionaria.put(“dds”,列表);
}
返回布尔值,因此它看起来像是在放置
,而预期值是

你要做的是,先填写字符串列表,然后把它放到地图上

List<String> list = new ArrayList<>();
list.add("item1")
list.add("item2")
list.add("item3")
dizionarioMultilingua.put("dds", list);
List List=new ArrayList();
列表。添加(“项目1”)
列表。添加(“项目2”)
列表。添加(“项目3”)
Dizionaria.put(“dds”,列表);

在将列表“放入”地图之前,需要向列表中添加字符串

List<String> list = new ArrayList<>();
list.add("");

dizionarioMultilingua.put("dds", list);
List List=new ArrayList();
列表。添加(“”);
Dizionaria.put(“dds”,列表);

对“list”和“list.add”(“”)的调用有很大不同,因为前者指的是对象列表,而第二个调用只是一个返回布尔值的方法调用。

list.add()返回布尔值。您可以执行dizionarioMultilingua.put(“string”,new ArrayList()),然后再执行dizionarioMultilingua.get(“string”).add(某物)。没有为您上面所述的内容提供代码。虽然严格来说,这是正确的信息,但与其他人的回答相比,它在本例中对OP没有特别的帮助。明白了!这是否意味着如果我有十个不同的字符串,我必须创建十个不同的列表?没有。因为您使用的是列表对于字符串,您可以在一个列表中添加多个字符串。例如,list.add(“项目1”);list.add(“项目2”);…;list.add(“项目n”);然后调用Dizionario Multilligua.put(“dds”,列表);将列表添加到hashmap。您也可以使用多个列表,然后在hashmap的不同键下添加。啊,好吧,我解释错了。假设我有“dds”、“asd”和“xyz”,对于dds,我有n个列表。添加(某物),对于asd,其他列表元素,等等……我必须为每个“put()第一个参数”创建列表吗?如果是多语言词汇表,则不可能为每个“单词”(表示单词的put()的每个第一个参数)创建列表在这种情况下,如果您想在每个键下保留不同的字符串列表,那么您必须编写一种机制来为每个键生成列表。最简单的方法是使用循环。但这取决于您想要实现什么。