下文主要介绍java中利用JDK1.5的新特性For-Each循环,来遍历Map集合以解决一些问题。
map集合:就是采用了 Key-value键值对映射的方式进行存储 key在Map里面是唯一的但是value可以重复,一个key对应一个value。key是无序、唯一的,而value是无序不唯一的
一,利用keySet集合
根据Map集合的特性我们可以知道:map中key是唯一的。因此我们可以利用map中的keySet进行遍历。详细代码如下:
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(1,"one");
map.put(2,"two");
map.put(3,"three");
//方式一:利用keySet()
Set<Integer> set = map.keySet();
for (Integer key:map.keySet()
) {
System.out.println(map.get(key));
}
}
根据代码,可以看出map.keySet();返回的是由map集合中的key构成的Set集合。
二,利用values进行遍历
这种方式可以在不使用key值的情况下来遍历value值。具体代码如下:
public static void main(String[] args) {
HashMap<Integer, String> map = new HashMap<>();
map.put(1,"one");
map.put(2,"two");
map.put(3,"three");
//方式二:
for (String value:map.values()
) {
System.out.println(value);
}
}
三,通利用Map.entrySet遍历key和value(最常用最重要的方法)
利用Map接口自带的内部接口 Entry<K , V> 进行过度方式的遍历。 Map.entrySet方法获得所有键值对对象的集合。具体代码如下:
| 方法名称 | 说明 |
|---|---|
| Set<Map.Entry<K,V>> entrySet() | 获取所有键值对对象的集合 |
| K getKey() | 获得键 |
| V getValue() | 获得值 |
public static void main(String[] args) {
HashMap<Integer, String> map = new HashMap<>();
map.put(1,"one");
map.put(2,"two");
map.put(3,"three");
//方式三:
for (Map.Entry<Integer,String> ma:map.entrySet()
) {
System.out.println(ma.getKey()+"===="+ma.getValue());
}
}
本文介绍了Java中如何利用JDK1.5的新特性For-Each循环来遍历Map集合。主要讲述了三种方法:1) 通过keySet()遍历key并获取对应的value;2) 使用values()直接遍历value;3) 通过entrySet()遍历键值对,同时获取key和value。每种方法都有详细的代码示例。

1180

被折叠的 条评论
为什么被折叠?



