如何取出Map中key和value的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何取出Map中key和value的值相关的知识,希望对你有一定的参考价值。

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

Iterator
iterator
=
keys.iterator(
);
while(iterator.hasNext(
))

Object
key
=
iterator.next(
);
Object
value
=
map.get(key);
;…
;

然后,这个方法有一个问题。从Map中取得关键字之后,我们必须每次重复返回到Map中取得相对的值,这是很繁琐和费时的。
幸运的是,这里有一个更加简单的途径。Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。
接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。举例如下:
Set
entries
=
map.entrySet(
);
if(entries
!=
null)

Iterator
iterator
=
entries.iterator(
);
while(iterator.hasNext(
))

Map.Entry
entry
=iterator.next(
);
Object
key
=
entry.getKey(
);
Object
value
=
entry.getValue();
;…


尽管增加了一行代码,我们却省略了许多对Map不必要的"get"调用。同时,提供给开发人员一个同时保持了关键字和其对应的值的类。Map.Entry同时也提供了一个setValue()方法,程序员可以使用它修改map里面的值。
Hashtable内部排列的方式是散列排布,所以当输出信息时会是无序的。为了能保证输出的数据按照顺序排列,不要渴望用java自带的函数来对
Hashtable对象进行调整处理。当我们获取Hashtable里的KEY和VALUE时,一般都运行了Map.Entry类来转换,好,现在就用这
个类来作文章,我具体写了一个方法。
代码:
/**
*
方法名称:getSortedHashtable
*
参数:Hashtable
h
引入被处理的散列表
*
描述:将引入的hashtable.entrySet进行排序,并返回
*/
public
static
Map.Entry[]
getSortedHashtable(Hashtable
h)
Set
set
=
h.entrySet();
Map.Entry[]
entries
=
(Map.Entry[])set.toArray(new
Map.Entry[set.size()]);
Arrays.sort(entries,new
Comparator()
public
int
compare(Object
arg0,
Object
arg1)

Object
key1
=
((Map.Entry)arg0)。getKey();
Object
key2
=
((Map.Entry)arg1)。getKey();
return
((Comparable)key1)。compareTo(key2);

);
return
entries;

调用这个方法:
Map.Entry[]
set
=
getSortedHashtable(t);
//perportyTable
for
(int
i=0;i<set.length;i++)
System.out.println(set[i].getKey()。toString());
System.out.println(set[i].getValue()。toString());

如何取出 Map中key和value的值

参考技术A 1
2
3
4
5
6
7
8
public static void main(String[] args)
Map<String, String> map = new HashMap<String, String>();
map.put("1", "v1");
map.put("2", "v2");
for (String key : map.keySet())
System.out.println("key= " + key + " and value= " + map.get(key));


取key和value

以上是关于如何取出Map中key和value的值的主要内容,如果未能解决你的问题,请参考以下文章

如何取出 Map中key和value的值

如何取出 Map中key和value的值

thymeleaf 如何取map的值

map中指定key的值能取出来吗

如何将map集合中相同value的key取出来

如何获得map的key和Value