Map

Map

  • Map和Collection没有继承关系
  • Map以键值对的方式存储数据
  • Map的常用方法
public class MapTest {
    public static void main(String[] args) {
        /** Map的常用方法
         * 1.V put(K key, V value)  添加元素
         * 2.V get(Object key)  根据key获取value
         * 3.void clear() 清空集合
         * 4.boolean containsKey(Object key) 判断是否包含key,底层调用equals
         * 5.boolean containsValue(Object value) 判断是否包含value,底层调用equals
         * 6.int size() 集合包含键值对元素的个数
         * 7.boolean isEmpty() 集合是否为空
         * 8.Set<K> keySet() 获取所有的key,并存入set集合
         * 9.Collection<V> values() 获取所有的value,并存入Collection集合
         * 10.Set<Map.Entry<K,V>> entrySet()  获取所有的key和value,并存入set集合
         */
        Map<Integer,String> map = new HashMap<>();
        map.put(1, "jqc");
        map.put(3, "jqc2");
        System.out.println(map.get(3));//jqc2
        System.out.println(map.containsKey(1));//true
        System.out.println(map.containsValue("jqc"));//true
        System.out.println(map.size());//2
        System.out.println(map.isEmpty());//false
        map.clear();
        System.out.println(map.size());//0
        //Map的遍历
        map.put(1,"士大夫");
        map.put(3,"sdf");
        //方法一:先获取所有的key,再根据key获取value
        Set<Integer> set = map.keySet();
        //迭代器遍历
        Iterator<Integer> it = set.iterator();
        while (it.hasNext()){
            Integer next = it.next();
            String v = map.get(next);
            System.out.println(next+"="+v);
        }
        System.out.println("=====================");
        //foreach遍历(效率高)
        for(Integer i : set){
            System.out.println(i+"="+map.get(i));
        }
        System.out.println("=====================");
        //方法二,先获取Set<Map.Entry<K,V>>集合
        Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
        //迭代器遍历
        Iterator<Map.Entry<Integer, String>> it2 = entrySet.iterator();
        while (it2.hasNext()){
            Map.Entry<Integer, String> entry = it2.next();
            System.out.println(entry.getKey()+"="+entry.getValue());
        }
        System.out.println("====================");
        //foreach遍历
        for (Map.Entry<Integer, String> en : entrySet) {
            System.out.println(en.getKey()+"="+en.getValue());
        }

    }
}
posted @ 2020-12-13 20:55  阿灿呀  阅读(211)  评论(0)    收藏  举报