您的位置:

java遍历map键值对,map怎么遍历键值

本文目录一览:

java遍历Map的几种方法分析

1.先初始化一个map

public class TestMap {

public static MapInteger, Integer map = new HashMapInteger, Integer();

}

2.keySet values

如果只需要map的key或者value,用map的keySet或values方法无疑是最方便的

// KeySet 获取key

public void testKeySet() {

for (Integer key : map.keySet()) {

System.out.println(key);

}

}

// values 获取value

public void testValues() {

for (Integer value : map.values()) {

System.out.println(value);

}

}

3.keySet get(key)

如果需要同时获取key和value,可以先获取key,然后再通过map的get(key)获取value

需要说明的是,该方法不是最优选择,一般不推荐使用

// keySet get(key) 获取key and value

public void testKeySetAndGetKey() {

for (Integer key : map.keySet()) {

System.out.println(key + ":" + map.get(key));

}

}

4.entrySet

通过对map entrySet的遍历,也可以同时拿到key和value,一般情况下,性能上要优于上一种,这一种也是最常用的遍历方法

// entrySet 获取key and value

public void testEntry() {

for (Map.EntryInteger, Integer entry : map.entrySet()) {

System.out.println(entry.getKey() + ":" + entry.getValue());

}

}

5.Iterator

对于上面的几种foreach都可以用Iterator代替,其实foreach在java5中才被支持,foreach的写法看起来更简洁

但Iterator也有其优势:在用foreach遍历map时,如果改变其大小,会报错,但如果只是删除元素,可以使用Iterator的remove方法删除元素

// Iterator entrySet 获取key and value

public void testIterator() {

IteratorMap.EntryInteger, Integer it = map.entrySet().iterator();

while (it.hasNext()) {

Map.EntryInteger, Integer entry = it.next();

System.out.println(entry.getKey() + ":" + entry.getValue());

// it.remove(); 删除元素

}

}

java中map的常用遍历方法有哪些?

ava中map的常用遍历的具体方法有:

一 、在for-each循环中使用entries来遍历。这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。

二、 在for-each循环中遍历keys或values。如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。

三、使用Iterator遍历。

四、通过键找值遍历(效率低)。

总结:如果仅需要键(keys)或值(values)使用方法二。如果你使用的语言版本低于java 5,或是打算在遍历时删除entries,必须使用方法三。否则使用方法一(键值都要)。

java 怎么样获取Map中第几个键值对

public static void main(String[] args) {

MapString, String map = new HashMapString, String();

map.put("key1", "value1");

map.put("key2", "value2");

map.put("key3", "value3");

SetString keySet = map.keySet();

int i = map.size()-1;

MapInteger, String mapKey = new HashMapInteger, String();

MapInteger, String mapValue = new HashMapInteger, String();

for(java.util.Map.EntryString, String entry : map.entrySet()) {

//将原来MAP的VALUE放入新的MAP的VALUE里面

mapKey.put(i, entry.getValue());

//将原来MAP的KEY放入新的MAP的VALUE 里面

mapValue.put(i, entry.getKey());

i--;

}

//打印KEY值

System.out.println(mapKey.get(2));

//打印VALUE值

System.out.println(mapValue.get(0));

}

扩展资料:

java键值对的使用

Map集合没有继承Collection接口,但是其提供了key到value的映射。每一个key不能有相同,每个key只能映射一个value值。

下面通过一个程序来说明键值对的使用,下面是一个基本的键值对应用程序:

package Test;

import java.util.Collection;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class KeyValue {

public static void main(String[] args) {

Map String,String map=new HashMap();

map.put("01", "张三");

map.put("02", "王五");

SetString set=map.keySet();

Iterator String it=set.iterator();

System.out.println("key中集合元素:");

while(it.hasNext()){

System.out.println(it.next());

}

Collection String coll=map.values();

it=coll.iterator();

System.out.println("value中集合元素:");

while(it.hasNext()){

System.out.println(it.next());

}

}

}

输出结果如图所示:

如何在java中取map中的键值?有哪两种方法?

Map map = new HashMap();\x0d\x0a map.put("1", "value1");\x0d\x0a map.put("2", "value2");\x0d\x0a map.put("3", "value3");\x0d\x0a \x0d\x0a //第一种:普遍使用,二次取值\x0d\x0a System.out.println("通过Map.keySet遍历key和value:");\x0d\x0a for (String key : map.keySet()) {\x0d\x0a System.out.println("key= "+ key + " and value= " + map.get(key));\x0d\x0a }\x0d\x0a \x0d\x0a //第二种\x0d\x0a System.out.println("通过Map.entrySet使用iterator遍历key和value:");\x0d\x0a Iterator it = map.entrySet().iterator();\x0d\x0a while (it.hasNext()) {\x0d\x0a Map.Entry entry = it.next();\x0d\x0a System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());\x0d\x0a }\x0d\x0a \x0d\x0a //第三种:推荐,尤其是容量大时\x0d\x0a System.out.println("通过Map.entrySet遍历key和value");\x0d\x0a for (Map.Entry entry : map.entrySet()) {\x0d\x0a System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());\x0d\x0a }\x0d\x0a\x0d\x0a //第四种\x0d\x0a System.out.println("通过Map.values()遍历所有的value,但不能遍历key");\x0d\x0a for (String v : map.values()) {\x0d\x0a System.out.println("value= " + v);\x0d\x0a }\x0d\x0a }

如何在java中取map中的键值 的两种方法

MapString, String map = new HashMapString, String();

map.put("1", "value1");

map.put("2", "value2");

map.put("3", "value3");

//第一种:普遍使用,二次取值

System.out.println("通过Map.keySet遍历key和value:");

for (String key : map.keySet()) {

System.out.println("key= "+ key + " and value= " + map.get(key));

}

//第二种

System.out.println("通过Map.entrySet使用iterator遍历key和value:");

IteratorMap.EntryString, String it = map.entrySet().iterator();

while (it.hasNext()) {

Map.EntryString, String entry = it.next();

System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());

}

//第三种:推荐,尤其是容量大时

System.out.println("通过Map.entrySet遍历key和value");

for (Map.EntryString, String entry : map.entrySet()) {

System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());

}

//第四种

System.out.println("通过Map.values()遍历所有的value,但不能遍历key");

for (String v : map.values()) {

System.out.println("value= " + v);

}

}

java遍历map几种简单方法

代码如下:

import java.util.HashMap;

import java.util.Map;

public class App {

public static void main(String[] args) {

MapString, Object map = new HashMap();

map.put("Name", "Barry");

map.put("Gender", "Male");

map.put("Age", 25);

// 第一种遍历方式

for (Map.EntryString, Object entry : map.entrySet()) {

System.out.println(entry.getKey() + " = " + entry.getValue());

}

// 第二种遍历方式

map.forEach((key, value) - {

System.out.println(key + " = " + value);

});

// 通过遍历 key,然后再获取 value

for (String key : map.keySet()) {

System.out.println(key + " = " + map.get(key));

}

// 单独遍历 values

for (Object value : map.values()) {

System.out.println(value);

}

}

}