如何得到map中的KEY和VALUE

如何得到map中的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();

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里取key的最大值是先排序,之后取出最大的一个即可。

import javautilArrays;

import javautilCollection;

import javautilHashMap;

import javautilMap;

import javautilSet;

public class MaxMapDemo {

public static void main(String[] args) {

Map<Integer, Integer> map = new HashMap<Integer, Integer>();

mapput(1, 8);

mapput(3, 12);

mapput(5, 53);

mapput(123, 33);

mapput(42, 11);

mapput(44, 42);

mapput(15, 3);

Systemoutprintln(getMaxKey(map));

Systemoutprintln(getMaxValue(map));

}

/

 求Map<K,V>中Key(键)的最大值

 @param map

 @return

/

public static Object getMaxKey(Map<Integer, Integer> map) {

if (map == null) return null;

Set<Integer> set = mapkeySet();

Object[] obj = settoArray();

Arrayssort(obj);

return obj[objsize()-1];

}

/

 求Map<K,V>中Value(值)的最大值

 @param map

 @return

/

public static Object getMaxValue(Map<Integer, Integer> map) {

if (map == null) return null;

Collection<Integer> c = mapvalues();

Object[] obj = ctoArray();

Arrayssort(obj);

return obj[objsize()-1];

}

}

因为这个key没有在map里面映射过。

在map容器里面,调用mapget(key)方法得到的值是null,那你无法判断这个key是在map里面没有映射过,还是这个key在map里面根本就不存在。

以上就是关于如何得到map中的KEY和VALUE全部的内容,包括:如何得到map中的KEY和VALUE、如何取出Map中key和value的值、如何取得map里key得最大值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存