先将map集合转成Set集合。然后对set集合进行迭代。
keySet:将所有的键取出存放在Set集合中,对Set集合进行迭代,并通过map集合的get方法,获取键所对应的value。
entrySet:将键值的关系取出存入到了Set集合中。键值关系有自己的类型就是:Map.Entry。
Map.Entry就是Map接口中定义了一个静态接口Entry
可以通过Map.Entry对象的getKey(),getValue().
values()
- import java.util.*;
- public class HashMapDemo1 {
- /**
- * @param args
- * 存入键值 ,要保证键的唯一性。
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- HashMap<String, String> hm=new HashMap<String,String>();
- hm.put("zs", "beijing");
- hm.put("ls", "nanjing");
- hm.put("was", "beijing");
- hm.put("zdds", "shenzhen");
- hm.put("ls", "tieling"); // 键相同时,存入后存的值
- //取出元素第一种方式:keySet()
- //将所有的键取出存在SET中,在通过键取出键所对应的值!
- Set<String> keSet=hm.keySet();
- for (Iterator<String> iterator = keSet.iterator(); iterator.hasNext();) {
- String string = iterator.next();
- //System.out.println(string+" value: "+hm.get(string));
- }
- //第二种方式 entrySet()
- Set<Map.Entry<String, String>> set2=hm.entrySet();
- for (Iterator <Map.Entry<String, String>> iterator = set2.iterator(); iterator.hasNext();) {
- Map.Entry<String, String> entry = (Map.Entry<String, String>) iterator
- .next();
- String key=entry.getKey();
- String valueString=entry.getValue();
- System.out.println(key+"...."+valueString);
- }
- //第三种取出方式 values()
- Collection<String> co=hm.values();
- for (Iterator<String> iterator = co.iterator(); iterator.hasNext();) {
- String string = (String) iterator.next();
- System.out.print(string);
- }
- }
- }