Map集合没有直接取出元素的方法,而是先转成Set集合,在通过Set遍历的方式获取元素
HashMap
(1)通过获取HashMap中的键集合,即keySet(),之后通过迭代器或者超级for的方式遍历该集合,通过get(key)方式获得值。此方式能够遍历到键key和值value
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class Map_HashMap {
public static void main(String[] args) {
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("1", "A");
hashMap.put("2", "B");
hashMap.put("3", "C");
hashMap.put("2", "D");
Set<String> set = hashMap.keySet();
//迭代器
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
String key = iterator.next();
System.out.println(key + "--->" + hashMap.get(key));
}
//超级for
for (String key : set) {
System.out.println(key + "--->" + hashMap.get(key));
}
}
}
(2)通过获取HashMap中的值集合,即values(),之后通过迭代器或者超级for的方式遍历该集合,获得值。此方式只能够遍历得到值value,而不能得到键key
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class Map_HashMap {
public static void main(String[] args) {
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("1", "A");
hashMap.put("2", "B");
hashMap.put("3", "C");
hashMap.put("2", "D");
//迭代器
Collection<String>set2=hashMap.values();
Iterator<String> iterator2 = set2.iterator();
while (iterator2.hasNext()) {
String value = iterator2.next();
System.out.println(value);
}
//超级for
for (String value: set2) {
System.out.println(value);
}
}
}
(3)通过获取HashMap中的键值对集合,即entrySet(),之后通过迭代器或者超级for的方式遍历该集合,通过getKey()获得键,getValue()获得值。
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Map_HashMap {
public static void main(String[] args) {
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("1", "A");
hashMap.put("2", "B");
hashMap.put("3", "C");
hashMap.put("2", "D");
//迭代器
Set<Map.Entry<String,String>>set3=hashMap.entrySet();
Iterator<Map.Entry<String,String>> iterator3 = set3.iterator();
while (iterator3.hasNext()) {
Map.Entry<String,String> entry = iterator3.next();
System.out.println(entry.getKey()+ "--->" + entry.getValue());
}
//超级for
for (Map.Entry<String,String> entry: set3) {
System.out.println(entry.getKey()+ "--->" + entry.getValue());
}
}
}