你这几个value都是数组, String val = entrygetValue()toString(); 改成 Object obj = entrygetValue(); String val = ""; if (obj instanceof String[]){ String[] strs = (String[])obj; val = ArraystoString(strs);//jdk15以上才支持,14的话就自己循环 }else{ val = objtoString(); }
#include <map>
#include <vector>
#include <iostream>
#include <string>
using namespace std;
void main()
{
map<string ,vector<int> >mi;
vector<int> vect1;
vector<int> vect2;
vector<int> vect3;
for(int i=0;i<5;i++)
{
vect1push_back(i);
vect2push_back(i);
vect3push_back(i);
}
miinsert(make_pair("dog",vect1));
miinsert(make_pair("cat",vect2));
miinsert(make_pair("fish",vect2));
map<string ,vector<int> >::iterator iter=mibegin();
for(;iter!=miend();iter++)
{
vector<int>::iterator it=iter->secondbegin();
for(;it!=iter->secondend();it++)
{
cout<<it<<"\t";
}
cout<<"\n";
}
}
希望能帮到你~
map是一种映射,是常用的STL容器。(map可以将任何基本类型(包括STL容器)映射到任何基本类型(包括STL容器))
如需使用,需要加一个map头文件。
1map的定义:
map mp;
使用map要确定映射前类型(键key)和映射后的类型(值value)。
注意:如果是字符串到整形的映射,必须使用string而不是char数组。
例子:
(1)map<set ,string>mp;</set
2map容器内元素的访问:
(1)通过下标访问:
比如:
map mp;
mp['c']=20;
mp['c']=30;
printf("%d",m['c'])输出的是30;
(2)通过迭代器访问:
定义方式:
map ::iterator it;
map迭代器的使用方式和其他STL容器的迭代器不同,因为map的每一对映射都有两个typename,这决定了必须能通过一个it来同时访问键和值。事实上,map可以使用it->first来访问键,使用it->second来访问值。
3map常用函数实例解析:
(1)find()
find(key)返回键为key的映射的迭代器,时间复杂度为N(logN),N为map中映射的个数。
(2)erase()
erase有两种用法:
第一种:删除单个元素,删除一个区间内的所有元素。
删除单个元素的方法==》mperase(it),it为删除的元素的迭代器,时间复杂度为O(1)。
mperase(key),key为欲删除的键。时间复杂度为O(logN),N为map内元素的个数。
第二种:删除一个区间内的所有元素。
mperase(firse,last)删除[first,last)
时间复杂度O(last-first)
(3)size()
size()用来获得map中映射的对数,时间复杂度为O(1)。
(4)clear()
clear()用来清空map中的所有元素,复杂度为O(N),其中N为map中的元素的个数。
4map的常见用途:
1需要建立字符(或字符串)与整数之间映射的题目,使用map可以减少代码量。
2判断大整数或者其他类型数据是否存在的题目,可以把map当bool数组用。
3字符串和字符串的映射有时候也会遇到!
javamap的用法如下;
1、void clear():删除Map中所有键值对。
2、boolean containsKey(Object key):查询Map中是否包含指定key,如果包含则返回true。
3、boolean containsValue(Object value):查询Map中是否包含指定value,如果包含则返回true。
4、Set entrySet():返回Map中所包含的键值对所组成的Set集合,每个集合元素都是MapEntry对象(Entry是Map的内部类)。
5、Object get(Object key):返回指定key所对应的value,如Map中不包含key则返回null。
6、boolean isEmpty():查询Map是否为空,如果空则返回true。
7、Set keySet():返回该Map中所有key所组成的set集合。
8、Object put(Object key,Object value):添加一个键值对,如果已有一个相同的key值则新的键值对覆盖旧的键值对。
9、void putAll(Map m):将指定Map中的键值对复制到Map中。
10、Object remove(Object key):删除指定key所对应的键值对,返回可以所关联的value,如果key不存在,返回null。
11、int size():返回该Map里的键值对的个数。
12、Collection values():返回该Map里所有value组成的Collection。
Map中包含一个内部类:Entry。该类封装了一个键值对,它包含了三个方法:
1、Object getKey():返回该Entry里包含的key值。
2、Object getValeu():返回该Entry里包含的value值。
3、Object setValue(V value):设置该Entry里包含的value值,并返回新设置的value值。
以上就是关于在servlet中用request.getParameterMap()获得jsp页面元素的集合,怎么能得到值呢全部的内容,包括:在servlet中用request.getParameterMap()获得jsp页面元素的集合,怎么能得到值呢、对于这样一个map容器,怎么输出map容器中的元素谢谢、map的常用用法详解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)