Map类中实现迭代的方法keyset,entryset

Keyset:

由于Map类中没有isterator方法所以无法直接对Map类中的数据进行迭代。但是Map类中有keyset方法,它是将Map中key取出来的方法,我们可以取出key装进set集合,通过set将key进行迭代,然后通过map中get方法找到对应的value。

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class MapDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Map m=new HashMap();
        m.put("lishuai","anhui");
        m.put("liqian","anhui");
        m.put("zhanglunqi","huangshan");
        m.put("mahongmei","suzhou");
        Set s=m.keySet();
        for (Iterator iterator = s.iterator(); iterator.hasNext();) {
            Object Key= iterator.next();
            Object value=m.get(Key);
            System.out.println(Key+"====="+value);
        }
    }

}

entryset:
Map集合中都是key--value类型的元素,entryset可以得到key--value对应关系对象组成的集合。通过遍历key--value对应关系对象,Map里有一个内部接口Entry,Entry中有获得key,value的方法。

import java.security.KeyStore.Entry;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapDemo {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Map m=new HashMap();
        m.put("lishuai","anhui");
        m.put("liqian","anhui");
        m.put("zhanglunqi","huangshan");
        m.put("mahongmei","suzhou");
        Set s=m.entrySet();
        for (Iterator iterator = s.iterator(); iterator.hasNext();) {
            Object o=iterator.next();
            Map.Entry e=(Map.Entry)o;
            Object key=e.getKey();
            Object value=e.getValue();
            System.out.println(key+"====="+value);
        }
    }
}

你可能感兴趣的:(Map类中实现迭代的方法keyset,entryset)