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
Map类提供了一个称为entrySet()的方法,这个方法返回一个MapEntry实例化后的对象集。 接着,MapEntry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。举例如下:
Set entries = mapentrySet( );
if(entries != null) {
Iterator iterator = entriesiterator( );
while(iteratorhasNext( )) {
MapEntry entry =iteratornext( );
Object key = entrygetKey( );
Object value = entrygetValue();
;…
}
}
java:Map param = new HashMap();
paramput("a","3333");
Systemoutprintln(paramget("a")); //3333
if(paramcontainsKey("a")){
paramput("a", "565");}
Systemoutprintln(paramget("a"));//565
map存值就类似于往一个瓶子中放东西,而key就是标签,value就是其中放的东西,而取值的时候就相当于取东西,要知道所要取的东西的标签才可以取东西,也就是mapget("key")。
key value根据关键字取值
如果辅以Real-Time Search Engine(实时搜索引擎)进行复杂条件检索、全文检索,就可以替代并发性能较低的MySQL等关系型数据库,达到高并发、高性能,节省几十倍服务器数 量的目的。以MemcacheDB、Tokyo Tyrant为代表的key-value分布式存储,在上万并发连接下,轻松地完成高速查询。而MySQL,在几百个并发连接下,就基本上崩溃了。
百度百科-Key-Value
又不是一对一的关系,一个Key对应一个value,但一个value却可以对应多个key。
java绝对不支持这方法,你可以手动写一个,但可能返回多个key
只能遍历整个map,比如:
value="test123";
Set<String>kset=mapkeySet();
for(String ks:kset){
if(valueequals(mapget(ks)){
Systemoutprintln(ks);
}
}
java根据Map的值(value)取键(key) 的实现方法有4种,分别为:
(1)使用for循环遍历
(2)使用Iterator迭代器
(3)使用KeySet迭代
(4)使用EnterySet迭代
下面为以上4种方法具体实现的代码:
1、使用for循环遍历
public static Object getKey(HashMap<Object,Object> map, String v) {
String key = "";
for (MapEntry<String, Object> m :mapentrySet()) {
if (mgetValue()equals(v)) {
key = mgetKey();
}}
return key;
}
2、使用Iterator迭代器
public static Object getKey(HashMap<Object,Object> map, String v) {
Set set = mapentrySet();
Iterator iterator=setiterator();
String key = "";
while (iteratorhasNext()) {
MapEntry<String, Object> enter = (Entry<String, Object>)
iteratornext();
if (entergetValue()equals(v)) {
key = entergetKey();
}}
return key;
}
3、使用KeySet迭代
public static Object getKey(HashMap<Object,Object> map, String v) {
Iterator<Object> it = mapkeySet()iterator();
while (ithasNext()) {
String key = itnext()toString();
if ((String) mapget(key)equals(v)) return key;
}
return null;
}
4、使用EnterySet迭代
public static Object getKey(HashMap<Object,Object> map, String v) {
String key = "";
Iterator it = mapentrySet()iterator();
while (ithasNext()) {
MapEntry entry = (Entry) itnext();
Object obj = entrygetValue();
if (obj != null && objequals(value)) {
key = (String) entrygetKey();
}}
return key;
}
扩展资料:
java获取map的key和value的方法:
(1) 通过mapkeySet()方法,先获取map的key,然后根据key获取对应的value。
for(String key : mapkeySet()){
String value = mapget(key);
Systemoutprintln(key+" "+value);
}
Iterator<String> iter = mapkeySet()iterator();
while(iterhasNext()){
String key=iternext();
String value = mapget(key);
Systemoutprintln(key+" "+value);
}
(2)通过mapentrySet()方法,循环map里面的每一对键值对,然后获取key和value。
for(Entry<String, String> vo : mapentrySet()) {
vogetKey();
vogetValue();
Systemoutprintln(vogetKey()+" "+vogetValue());
}
Iterator<Entry<String,String>> iter = mapentrySet()iterator();
while(iterhasNext()){
Entry<String,String> entry = iternext();
String key = entrygetKey();
String value = entrygetValue();
Systemoutprintln(key+" "+value);
}
参考资料来源:JAVA官方文档-Map
取得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的方法
public static void main(String[] args) {
Map map = new HashMap();
mapput(1, "zhangsan");
mapput(2, "lisi");
for (int i = 0 ; i < mapsize() ; i++) {
Systemoutprintln(mapget(i));
}
}
希望对你有所帮助。
以上就是关于如何取出Map中key和value的值全部的内容,包括:如何取出Map中key和value的值、如何取出 Map中key和value的值、java中的map怎么根据key值修改value值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)