如何根据key取出map中的value值

如何根据key取出map中的value值,第1张

你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用MapEntry类,你可以得到在同一时间得到所有的信息。 标准的Map访问方法如下: Set keys = mapkeySet( ); if(keys != null) { Iterator iterator = keysiterator( )

<s:iterator value="elist" id="ex">

<s:property value="key" /> <!--迭代map key-->

<s:property value="value" /> <!--迭代 map value-->

</s:iterator>

我用的是struts2标签,要是没有struts包,可以用:

<c:forEach var="item" items="${map}">

${itemkey}

</c:forEach>

hm已是一个HashMap的引用如果你知道当前的这个key,可以通过hmget(key)方法来获得value获得key的方法hmkeySet();因为你不知道key是哪个其实该方法就是获得一个key的集合具体可以结合以下例子看看,里面有个迭代器用于遍历的Sets=hmkeySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面Iteratorit=siterator();//获得一个迭代器引用it,通过siterator方法好比使“指针”指向//set里面的第一个元素的位置while(ithasNext())//set里面如果有下一个{Integerkey=itnext();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个Systemoutprintln(hmget(key));//利用hmget(key)方法获得该key对应的value}

import javautil; import javautilMapEntry; public class HashMapTest2 { public static void main(String[] args) { Map map = new HashMap(); mapput(1, "cabb"); mapput(2, "lucy"); mapput("tom",3); mapput(4, "jerry"); mapput("lily",5); / 如何将Map集合的键和值分别取出来? / //1使用keySet: // 将map中的key存入set集合,通过迭代器取出所有的key,再获取每一个键对应的值 Set keySet = mapkeySet(); // key的set集合 Iterator it = keySetiterator(); while(ithasNext()){ Object k = itnext(); // key Object v = mapget(k); //value Systemoutprintln("K:" + k + " V:" + v); } Systemoutprintln("----------------------------------"); //2使用entrySet: // 将map中的key-value关系存入到set集合中,再使用MapEntry Set entrySet = mapentrySet(); // key-value的set集合 Iterator it2 = entrySetiterator(); while(it2hasNext()){ MapEntry me = (Entry) it2next(); Object k = megetKey(); Object v = megetValue(); Systemoutprintln("K:" + k + " V:" + v); } } }

hm已是一个HashMap的引用。

如果你知道当前的这个key,可以通过hmget(key)方法来获得value。

获得key的方法hmkeySet();因为你不知道key是哪个其实该方法就是获得一个key的集合。

具体可以结合以下例子看看,里面有个迭代器用于遍历的。

Set<Integer> s=hmkeySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面。

Iterator<Integer> it=siterator();//获得一个迭代器引用it,通过siterator方法好比使“指针”指向

//set里面的第一个元素的位置

while(ithasNext())//set里面如果有下一个

{

Integer key=itnext();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个

Systemoutprintln(hmget(key));//利用hmget(key)方法获得该key对应的value

}

你是否已经对每次从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

以上就是关于如何根据key取出map中的value值全部的内容,包括:如何根据key取出map中的value值、在jsp页面中获得对象中MAP属性的值、根据map的key值获取value值 有多个key怎么获取多个value值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9784717.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存