import javautilHashMap;
import javautilIterator;
import javautilMap;
import javautilSet;
public class HashMapKey {
public static void main(String[]args){
String value = "map";
Map<String,String> map = new HashMap<String,String>();//HashMap
mapput("0", "what"); //增加值
mapput("1", value);
mapput("2", "asdf");
Set<String> mapSet = mapkeySet(); //获取所有的key值 为set的集合
Iterator<String> itor = mapSetiterator();//获取key的Iterator便利
while(itorhasNext()){//存在下一个值
String key = itornext();//当前key值
if(mapget(key)equals(value)){//获取value 与 所知道的value比较
Systemoutprintln("你要找的key :"+key);//相等输出key
}
}
}
}
我本军团为你解答
OrderedDict类包含在collections模块中。
创建有序字典
clear: 清空有序字典
copy: 复制有序字典
fromkeys: 列表转换
items: 返回“键值对”列表
keys: 获取所有key
move_to_end: 指定一个key,把对应的key-value移到最后
pop: 获取指定key的value,并在字典中删除
popitem: 按照后进先出原则,删除最后加入的元素,返回key-value
setdefault: 获取指定key的value,如果key不存在,则创建
values: 获取字典所有的value,返回一个列表
普通字典不考虑存储顺序,有序字典的顺序与加入键值的顺序有关。
但是调用keys方法时,返回值不考虑顺序。
<html>
<head>
<meta >
hm已是一个HashMap的引用如果你知道当前的这个key,可以通过hmget(key)方法来获得value获得key的方法hmkeySet();因为你不知道key是哪个其实该方法就是获得一个key的集合具体可以结合以下例子看看,里面有个迭代器用于遍历的Sets=hmkeySet();//通过keySet方法可获得所有key的集合,放在一个容器Set里面Iteratorit=siterator();//获得一个迭代器引用it,通过siterator方法好比使“指针”指向//set里面的第一个元素的位置while(ithasNext())//set里面如果有下一个{Integerkey=itnext();//返回当前set中的这个元素(因为set中都是放的key,“指针”指向下一个Systemoutprintln(hmget(key));//利用hmget(key)方法获得该key对应的value}
java 获取map中所有的key和value值
javautilIterator 对 collection 进行迭代的迭代器。
javautilIterator it = mapentrySet()iterator();
while(ithasNext()){
javautilMapEntry entry = (javautilMapEntry)itnext();
entrygetKey() //返回对应的键
entrygetValue() //返回对应的值
}
以前遍历Map key-value比较习惯的方式是先获取Map中的所有key值,
然后根据key,依次从Map中去数据,基本方式如下:
Map<String,String> testData = new HashMap<String, String>();
Set<String> keys = testDatakeySet();
for(String key :keys){
Systemoutprintln(key+" "+testDataget(key));
}
上述其中是第一种方法,原来一直用上述方法主要是自己有点懒,有了一种方法后就觉得够用的了,今天看源码,发现还Map接口中还有一个Entry<K,V>的接口,对应的还有一个 Set<MapEntry<K, V>> entrySet();方法。
也就是说其实Map中的每条key-value数据对应着一个Entry,这样的话遍历Map其实就是要取出每个Entry,也就有了第二种遍历方法:
Set<Entry<String, String>> entries = testDataentrySet();
for (Entry<String, String> entry : entries) {
Systemoutprintln(entrygetKey()+":"+entrygetValue());
}
当少量的数据时,上述两种方法的效率是差不多的,当数据比较多时,第二种还是要比第一种快。
当然上述说的两种遍历针对的情况是遍历出key-value,如果是只想遍历key或value,大可不必用以上的方法了,Map中提供了Set<K> keySet()和Collection<V> values()。
以上就是关于HashMap 知道键值 如何获得key值全部的内容,包括:HashMap 知道键值 如何获得key值、[Python] OrderedDict、Js 怎么遍历json对象所有key及根据动态key获取值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)