gpt4 book ai didi

java - 将所有值映射到一个键

转载 作者:行者123 更新时间:2023-12-01 18:55:06 25 4
gpt4 key购买 nike

      Map<Object,String> mp=new HashMap<Object, String>();
Scanner sc=new Scanner(System.in);
System.out.println("Enter the instrument name");
String name=sc.next();


mp.put(name, "Control Valve");
mp.put(name, "BDV");
mp.put(name, "SDV");
mp.put(name, "ON-OFF VALVE");
mp.put(name,"Analyser");


Set s=mp.entrySet();

Iterator it=s.iterator();

while(it.hasNext())
{

Map.Entry m =(Map.Entry)it.next();

String key=(String)m.getKey();

String value=(String)m.getValue();

System.out.println("Instrument name :"+key+" fields:"+value);
}
}
}

在此,只有最后一个值被映射到键。即分析器到键。

如何将所有值映射到用户输入的一个键。并且还必须要求用户为每个值字段输入值。

更新的代码 -:它询问仪器名称,但随后显示异常“java.util.ArrayList 无法转换为 java.lang.String”

 Map<String,List<String>> mp=new HashMap<String,List<String>>();
Scanner sc=new Scanner(System.in);
System.out.println("Enter the instrument name");
String name=sc.next();
List<String> valList = new ArrayList<String>();
valList.add("Control Valve");
valList.add("BDV");
valList.add("SDV");
valList.add("ON-OFF VALVE");
valList.add("Analyser");
mp.put(name, valList);




Set s=mp.entrySet();

Iterator it=s.iterator();

while(it.hasNext())
{

Map.Entry m =(Map.Entry)it.next();

String key=(String)m.getKey();

String value=(String)m.getValue();

System.out.println("Instrument name :"+key+" fields:"+value);
}
}
}

最佳答案

我建议使用

Map<Object,List<String>> mp=new HashMap<Object, List<String>>();

这样您就可以维护给定键的值集。

如果给定 key 有可用的列表,则获取该列表并将新值添加到列表中。

已更新

Map<String,List<String>> mp=new HashMap<String,List<String>>();
Scanner sc=new Scanner(System.in);
System.out.println("Enter the instrument name");
String name=sc.next();
List<String> valList = new ArrayList<String>();
valList.add("Control Valve");
valList.add("BDV");
valList.add("SDV");
valList.add("ON-OFF VALVE");
valList.add("Analyser");
mp.put(name,valList);

for(String key : mp.keySet()){
System.out.print("Instrument name :"+key+" Values : ");
for(String val : mp.get(key)){
System.out.print(val+",");
}


}

关于java - 将所有值映射到一个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14263400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com