Java 向映射添加字符串
我有两个大小相同的Java 向映射添加字符串,java,Java,我有两个大小相同的String数组 我需要制作一张带有名称和值的地图。如何将它们添加到地图 String[] labelNames = request.getParameterValues("labelName"); String[] labelValues = request.getParameterValues("labelValues"); Map<String,String> labels = new HashMap<>(); String[]labelName
String
数组
我需要制作一张带有名称和值的地图。如何将它们添加到地图
String[] labelNames = request.getParameterValues("labelName");
String[] labelValues = request.getParameterValues("labelValues");
Map<String,String> labels = new HashMap<>();
String[]labelNames=request.getParameterValues(“labelName”);
字符串[]labelValues=request.getParameterValues(“labelValues”);
映射标签=新的HashMap();
您拥有大小相同的数组,因此您可以使用相同的for loop
对它们进行迭代,您将访问两个上相同的索引
,并将它们放入映射
:
for(int i=0; i<labelNames.length; i++){
labels.put(labelNames[i], labelValues [i]);
}
for(int i=0;i如果有两个大小相同的数组,只需创建一个for循环,使用labelName
和labelValue
for(int i = 0; i < labelNames.length; i++) {
labels.put(labelNames[i], labelValues[i]);
}
Java 7的解决方案-您可以使用带有单个索引的for
循环结构同时前进到2个数组中
至于假设labelNames.length==labelValues.length
通常最好总是检查它,以确保没有引入错误并得到意外的结果:
if(labelNames.length == labelValues.length) {
int i;
for(i = 0; i < labelNames.length; i++) {
labels.put(labelNames[i], labelValues[i]);
}
}
使用此代码:
Map<String,String> labels = new HashMap<>();
for(int i=0;i<labelNames.length;i++)
labels.put(labelNames[i] , labelValues[i]);
Map labels=newhashmap();
对于(int i=0;i首先:
Map<String,String> labels = new HashMap<String, String>();
Map labels=newhashmap();
然后:
for (int i=0; i < labelNames.length; i++)
{
labels.put(labelNames[i], labelValues[i]);
}
for(int i=0;i
这个答案已经有5次了,不需要花一两分钟来写一个答案。与此同时,其他用户可能会发布解决方案。如果labelName
和labelValues
数组的长度不一样,你希望发生什么?为什么不直接调用request.getParameterMap()?
Map<String,String> labels = new HashMap<String, String>();
for (int i=0; i < labelNames.length; i++)
{
labels.put(labelNames[i], labelValues[i]);
}