根据map的key值获取value值 有多个key怎么获取多个value值

根据map的key值获取value值 有多个key怎么获取多个value值,第1张

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();

在指定Key所关联的List Value的头部插入参数中给出的所有Values。如果该Key不存在,该命令将在插入之前创建一个与该Key关联的空链表,之后再将数据从链表的头部插入。如果该键的Value不是链表类型,该命令将返回相关的错误信息。

//取localStorage中的所有的键(Key)

for(var i=0;i<localStoragelength;i++){

      consolelog(localStoragekey(i))

}

//取localStorage中的所有的值(Value)

for(var i=0;i<localStoragelength;i++){

      consolelog(localStoragegetItem(localStoragekey(i)))

}

你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用MapEntry类,你可以得到在同一时间得到所有的信息。 标准的Map访问方法如下: Set keys = mapkeySet( ); if(keys != null) { Iterator iterator = keysiterator( ); while(iteratorhasNext( )) { Object key = iteratornext( ); Object value = mapget(key); ;… ;} } 然后,这个方法有一个问题。从Map中取得关键字之后,我们必须每次重复返回到Map中取得相对的值,这是很繁琐和费时的。 幸运的是,这里有一个更加简单的途径。Map类提供了一个称为entrySet()的方法,这个方法返回一个MapEntry实例化后的对象集。 接着,MapEntry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。举例如下: Set entries = mapentrySet( ); if(entries != null) { Iterator iterator = entriesiterator( ); while(iteratorhasNext( )) { MapEntry entry =iteratornext( ); Object key = entrygetKey( ); Object value = entrygetValue(); ;… } } 尽管增加了一行代码,我们却省略了许多对Map不必要的"get"调用。同时,提供给开发人员一个同时保持了关键字和其对应的值的类。MapEntry同时也提供了一个setValue()方法,程序员可以使用它修改map里面的值。 Hashtable内部排列的方式是散列排布,所以当输出信息时会是无序的。为了能保证输出的数据按照顺序排列,不要渴望用java自带的函数来对 Hashtable对象进行调整处理。当我们获取Hashtable里的KEY和VALUE时,一般都运行了MapEntry类来转换,好,现在就用这 个类来作文章,我具体写了一个方法。 代码: / 方法名称:getSortedHashtable 参数:Hashtable h 引入被处理的散列表 描述:将引入的hashtableentrySet进行排序,并返回 / public static MapEntry[] getSortedHashtable(Hashtable h){ Set set = hentrySet(); MapEntry[] entries = (MapEntry[])settoArray(new MapEntry[setsize()]); Arrayssort(entries,new Comparator(){ public int compare(Object arg0, Object arg1) { Object key1 = ((MapEntry)arg0)。getKey(); Object key2 = ((MapEntry)arg1)。getKey(); return ((Comparable)key1)。compareTo(key2); } }); return entries; } 调用这个方法: MapEntry[] set = getSortedHashtable(t); //perportyTable for (int i=0;i<setlength;i++){ Systemoutprintln(set[i]getKey()。toString()); Systemoutprintln(set[i]getValue()。toString()); }

获取map的值主要有四种方法,这四种方法又分为两类:

一类是调用mapkeySet()方法来获取key和value的值,

另一类则是通过mapentrySet()方法来取值,

两者的区别在于,前者主要是先获取到所有的key的集合,当你需要查询value的值的时候需要通过key来查询value,后者则直接将key和value的键值对直接取出来,只用查询一次。

以上就是关于根据map的key值获取value值 有多个key怎么获取多个value值全部的内容,包括:根据map的key值获取value值 有多个key怎么获取多个value值、如何获取redis中String类型的全部key值、html怎么取localstorage中的key值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存