
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得最大值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)