方法一:
import java.util.*;
public class test2 {
public static void main(String[] args) {
Map<String, String> map=new HashMap<>();
map.put("1","a");
map.put("2","b");
map.put("3","c");
Set<String> keySet=map.keySet(); //获取键的集合
Iterator<String> it=keySet.iterator(); //迭代器进行迭代
while(it.hasNext()) {
Object key=it.next();
Object value=map.get(key); //获取值
System.out.println(key+":"+value);
}
}
}
方法二:
import java.util.*;
public class test3 {
public static void main(String[] args) {
Map<String, String> map=new HashMap<>();
map.put("1","a");
map.put("2","b");
map.put("3","c");
Set entrySet=map.entrySet();
Iterator it=entrySet.iterator();
while(it.hasNext()) {
Map.Entry entry=(Map.Entry)(it.next()); //获取集合中键值对映射
Object key=entry.getKey(); //获取Entry中的键
Object value=entry.getValue(); //获取Entry中的值
System.out.println(key+":"+value);
}
}
}
在Map中还提供了一个values()方法,通过这个方法可以直接获取Map中存储所有值的Collection集合。比如:
import java.util.*;
public class test1 {
public static void main(String[] args) {
Map map=new HashMap();
map.put("4","Jojo");
map.put("1","Jack");
map.put("3","Mack");
map.put("2","Mr");
Collection values=map.values();
Iterator it=values.iterator();
while(it.hasNext()){
Object value=it.next();
System.out.print(value+" ");
}
}
}
输入结果为:
比较你输入的顺序和输出的数据,你会发现,顺序不太一样。如果你想输入输出的顺序一样,那么你可以用LinkedHashMap集合,它使用双向链表来维持内部元素的关系,使Map元素迭代的顺序与存入顺序一致。