如何取出Map中key和value的值

如何取出Map中key和value的值,第1张

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值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9789388.html

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

发表评论

登录后才能评论

评论列表(0条)

保存