Map map = new Map();Set set = mapentrySet(); Iterator i = setiterator(); while(ihasNext()){ MapEntry entry1=(MapEntry)inext(); Systemoutprintln(entry1getKey()); }这样最终输出的就是map的key值
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
}
list中是map,stream如何拿到key集合
liststream()map(m -> mkeySet())collect(CollectorstoSet());
// Q20:list中是map,stream如何拿到value集合
liststream()map(m -> mvalues())collect(CollectorstoSet());
获取map的值主要有四种方法,这四种方法又分为两类:
一类是调用mapkeySet()方法来获取key和value的值,
另一类则是通过mapentrySet()方法来取值,
两者的区别在于,前者主要是先获取到所有的key的集合,当你需要查询value的值的时候需要通过key来查询value,后者则直接将key和value的键值对直接取出来,只用查询一次。
java hashmap 得到指定key的value的方法:
private static ArrayList valueGetKey(Map map,String value){
Set set = mapentrySet();//新建一个不可重复的集合
ArrayList arr = new ArrayList<>();//新建一个集合
Iterator it = setiterator();//遍历的类
while(ithasNext())
{
MapEntry entry = (MapEntry)itnext();//找到所有key-value对集合
if(entrygetValue()equals(value)) //通过判断是否有该value值
{
int s = (int)entrygetKey();//取得key值
arradd(s);
}
}
return arr;
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
mapput("1", "v1");
mapput("2", "v2");
for (String key : mapkeySet()) {
Systemoutprintln("key= " + key + " and value= " + mapget(key));
}
}
取key和value
以上就是关于java map怎么获取key全部的内容,包括:java map怎么获取key、如何直接获取map中key的value、list中是map,stream如何拿到key集合等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)