HashMap的Iterator获取键、值、键值对

148 阅读1分钟

关键在于用map.entry获取键值对作为对象的集合,获得key & value

相对比传统的获取key再获取值的方法速度更快,约一倍


public class test {
    public static void main(String[] args) {
        Map<String,Integer> map=new HashMap<>();
        map.put("s1",1);
        map.put("s2",2);
        map.put("s3",3);
        map.put("s4",4);
        map.put("s5",5);
        map.put("s6",6);
//        key
        Set<String> KeySet=map.keySet();
        for (String key:KeySet){
            System.out.println(key);
        }
        System.out.println();
//        values
        Collection<Integer> values=map.values();
        Iterator<Integer> iterator=values.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
        System.out.println();
//        key-value
        Set<Map.Entry<String,Integer>> entrySet=map.entrySet();
        Iterator<Map.Entry<String ,Integer>> iterator1=entrySet.iterator();
        while (iterator1.hasNext()){
            Map.Entry<String,Integer> entry=iterator1.next();
            String key=entry.getKey();
            Integer value=entry.getValue();
            System.out.println( "key:"+key+"-->value:"+value);
        }
    }
}