Java遍历Map的三种方式
一个字一个字写出来的,请用心看完,哈哈哈。
1、Set keySet() :
返回所有的key对象的Set集合, 将Map转成Set集合(keySet()),通过Set的迭代器取出Set集合中的每一个元素(Iterator)就是Map集合中的所有的键,再通过get方法获取键对应的值。
实现示例:
import java.util.*;
public class MapTest {
public static void main(String[] args) {
Map<String,String> map=new HashMap<>();
map.put("1233r","曹操");
map.put("12e3","海洋");
map.put("4378925","咯克");
map.put("9574","丽人");
map.put("4325","力士");
map.put("6543","马瑞");
System.out.println(map);
Set<String> set=map.keySet();
Iterator<String> it=set.iterator();
while (it.hasNext())
{
String key= it.next();
String value=map.get(key);
System.out.println("key="+key+"value"+value);
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2、 values() ,获取所有的值,但是Collection values()不能获取到key对象。
实现代码示例:
import java.util.*;
public class MapTest {
public static void main(String[] args) {
Map<String,String> map=new HashMap<>();
map.put("1233r","曹操");
map.put("12e3","海洋");
map.put("4378925","咯克");
map.put("9574","丽人");
map.put("4325","力士");
map.put("6543","马瑞");
System.out.println(map);
Collection<String> values =map.values();
Iterator<String> it1=values.iterator();
while(it1.hasNext())
{
String a= it1.next();
System.out.println("value的值为"+a);
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
最好一种可以同时获得键值,但需要细心理解。
Map.Entry:
interface Entry<K,V>,通过Map中的entrySet()方法获取存放Map.Entry<K,V>对象的Set集合。
实现代码示例:
import java.util.*;
public class MapTest {
public static void main(String[] args) {
Map<String,String> map=new HashMap<>();
map.put("1233r","曹操");
map.put("12e3","海洋");
map.put("4378925","咯克");
map.put("9574","丽人");
map.put("4325","力士");
map.put("6543","马瑞");
System.out.println(map);
Set<Map.Entry<String,String>> set1=map.entrySet();
Iterator<Map.Entry<String,String>> it2=set1.iterator();
while (it2.hasNext())
{
Map.Entry<String,String> a1=it2.next();
String k=a1.getKey();
String v=a1.getValue();
System.out.println("key为:"+k+"value为:"+v);
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
蟹蟹!!!