
requestgetParameter()取到的是的id,
那是因为在html页面上<select>控件中的<option value=""></option>,
这里option的value你放入的值是id,把option中的value改成你要传的值就可以取到了。
不过在软件中数据传递,本来就应该是传id的,数据的引用也应该是id引用。你写到另一个表中的数据,应该是以id引用的方式,也就是外键引用。
方法1:keySet()
HashMap hashmp = ne HashMap();
hashmpput("aa", "111");
Set set = hashmpkeySet();
Iterator iter = setiterator();
while (iterhasNext()) {
String key = (String) iternext();
// printkey}
// traverse
for (String key : listget(pos)keySet() ) {
myKey = key;}
方法2:entrySet()
HashMap map;
Iterator i = mapentrySet()iterator();
while (ihasNext()) {
Object obj = inext();
String key = objtoString();}
// or
while (ihasNext()) {
Entry entry = (javautilMapEntry)itnext();
entrygetkey();
entrygetValue();}
扩展资料:
JavaMap集合
1Map集合没有继承Collection接口,其提供的是key到value的映射,Map中不能包含相同的key值,每个key只能影射一个相同的valuekey值还决定了存储对象在映射中的存储位置。
但不是key对象本身决定的,而是通过散列技术进行处理,可产生一个散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置Map集合包括Map接口以及Map接口所实现的类。
2Map集合没有继承Collection接口,其提供的是key到value的映射,Map中不能包含相同的key值,每个key只能影射一个相同的valuekey值还决定了存储对象在映射中的存储位置。
但不是key对象本身决定的,而是通过散列技术进行处理,可产生一个散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置Map集合包括Map接口以及Map接口所实现的类。
参考资料:
package test;import javautil;/ 取得Map中的key的集合用的方法是keySet,返回的是Set,
取得Map中的value的集合用的方法是values,返回的是Collect。
值得一提的是,本题中是HashMap,如果改为TreeMap,keySet()方法返回的便会按着字母顺序排列,原因很简单,因为在TreeMap中即时按着这个顺序排列的。
/public class Test_Map {public static void main(String[] args) throws Exception {
Map map = new HashMap();
mapput("one", 1);mapput("two", 2);
mapput("three", 3);
//得到value的方法
Systemoutprintln("========得到value的方法========");
Collection c = mapvalues();
Systemoutprintln(c);
Iterator iter1 = (Iterator)mapvalues()iterator();
while(iter1hasNext()){
Systemoutprintln(iter1next());}//得到key的方法
Systemoutprintln("========得到key的方法========");
Collection s = mapkeySet();
Systemoutprintln(s);
Iterator iter2 = (Iterator)mapkeySet()iterator();
hm已是一个HashMap的引用
如果你知道当前的这个key,可以通过hmget(key)方法来获得value
获得key的方法hmkeySet();因为你不知道key是哪个其实该方法就是获得一个key的集合
具体可以结合以下例子看看,里面有个迭代器用于遍历的
Set s=hmkeySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面
Iterator it=siterator();//获得一个迭代器引用it,通过siterator方法好比使“指针”指向
//set里面的第一个元素的位置
while(ithasNext())//set里面如果有下一个
{
Integer key=itnext();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个
Systemoutprintln(hmget(key));//利用hmget(key)方法获得该key对应的value
}
你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用MapEntry类,你可以得到在同一时间得到所有的信息。
标准的Map访问方法如下:
Set
keys
=
mapkeySet(
);
if(keys
!=
null)
{
Iterator
iterator
=
keysiterator(
)
你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用MapEntry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下:Setkeys=mapkeySet();if(keys!=null){Iteratoriterator=keysiterator();while(iteratorhasNext()){Objectkey=iteratornext();Objectvalue=mapget(key);;…;}}然后,这个方法有一个问题。从Map中取得关键字之后,我们必须每次重复返回到Map中取得相对的值,这是很繁琐和费时的。幸运的是,这里有一个更加简单的途径。Map类提供了一个称为entrySet()的方法,这个方法返回一个MapEntry实例化后的对象集。接着,MapEntry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。举例如下:Setentries=mapentrySet();if(entries!=null){Iteratoriterator=entriesiterator();while(iteratorhasNext()){MapEntryentry=iteratornext();Objectkey=entrygetKey();Objectvalue=entrygetValue();;…}}尽管增加了一行代码,我们却省略了许多对Map不必要的"get"调用。同时,提供给开发人员一个同时保持了关键字和其对应的值的类。MapEntry同时也提供了一个setValue()方法,程序员可以使用它修改map里面的值。Hashtable内部排列的方式是散列排布,所以当输出信息时会是无序的。为了能保证输出的数据按照顺序排列,不要渴望用java自带的函数来对Hashtable对象进行调整处理。当我们获取Hashtable里的KEY和VALUE时,一般都运行了MapEntry类来转换,好,现在就用这个类来作文章,我具体写了一个方法。代码:/方法名称:getSortedHashtable参数:Hashtableh引入被处理的散列表描述:将引入的hashtableentrySet进行排序,并返回/publicstaticMapEntry[]getSortedHashtable(Hashtableh){Setset=hentrySet();MapEntry[]entries=(MapEntry[])settoArray(newMapEntry[setsize()]);Arrayssort(entries,newComparator(){publicintcompare(Objectarg0,Objectarg1){Objectkey1=((MapEntry)arg0)。getKey();Objectkey2=((MapEntry)arg1)。getKey();return((Comparable)key1)。compareTo(key2);}});returnentries;}调用这个方法:MapEntry[]set=getSortedHashtable(t);//perportyTablefor(inti=0;i
以上就是关于关于从页面中获取map<key,value>值的问题全部的内容,包括:关于从页面中获取map<key,value>值的问题、如何获得map的key值、在map集合中通过value怎么得到key等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)