Map实现类HashMap常用的方法总结

提示:Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序。某些映射实现可明确保证其顺序,如 TreeMap 类;另一些映射实现则不保证顺序,如 HashMap 类。


1.map接口实现类对象HashMap

代码:

//HashMap<>,泛型进行限制,限制集合存入的引用数据类型(自定义)
//2种写法实现的效果一样
   Map<Integer, String>  map=new HashMap <>();
   Map<Integer, String>  map1=new HashMap <Integer, String>();

2.Map常用的方法

1、put()、size()、remove()、get()
 //Map<Integer, String>  map=new HashMap <>();
        Map<Integer, String>  map1=new HashMap <Integer, String>();
        //集合中添加数据 put
        map1.put(1,"2");
        map1.put(2,"3");
        map1.put(2,"5");
        System.out.println(map1.size());//获取集合长度
        System.out.println(map1);//遍历集合中所有数据
       //get根据key获取value值
       String s=map1.get(1);
        System.out.println(s);
        //remove根据key删除value值
        System.out.println("------------");
        String str=map1.remove(1);
        System.out.println(str);
        System.out.println(map1);
2、isEmpty()判断
 Map<Integer, String>  map1=new HashMap <Integer, String>();
        map1.put(1,"li");
        map1.put(2,"li");
        map1.put(3,"li");
        map1.put(4,"li");
        map1.put(5,"li");
        System.out.println(map1.isEmpty());//判断集合是否为空返回boolen值
2、keySet()获取map中所有的key值
      Map<Integer, String>  map1=new HashMap <Integer, String>();
        map1.put(1,"li1");
        map1.put(2,"li2");
        map1.put(3,"li3");
        map1.put(4,"li4");
        map1.put(5,"li5");
        //keySet--获取map所有key值返回Set<Integer>  
        Set<Integer>  set=map1.keySet();
        //遍历所有key值
        for (Integer s:set
             ) {
            System.out.println(s);

        }

结果
1
2
3
4
5

3、values()获取value值
     Map<Integer, String>  map1=new HashMap <Integer, String>();
        map1.put(1,"li1");
        map1.put(2,"li2");
        map1.put(3,"li3");
        map1.put(4,"li4");

//获取有value值
       Collection<String> str= map1.values();
       for(String string:str){//遍历
           System.out.println(string);


       }

结果
li1
li2
li3
li4

4、keySet()和get()结合使用
      Map<Integer, String>  map1=new HashMap <Integer, String>();
        map1.put(1,"li1");
        map1.put(2,"li2");
        map1.put(3,"li3");
        map1.put(4,"li4");
        //keySet--获取map所有key值
        Set<Integer>  set=map1.keySet();//获取所有的key
        //遍历所有key值
        for (Integer s:set//
             ) {
            System.out.println(map1.get(s));//根据key获取values

        }

结果
li1
li2
li3
li4

5、HashMap和HashTable的区别
HashMap可以保存null、HashTable不能
        Map<Integer, String>  map1=new HashMap <Integer, String>();
        System.out.println(map1.put(null, "123"));

结果:null

Map<Integer, String>  map=new Hashtable <Integer, String>();
        System.out.println(map.put(null, "123"));

结果: Exception in thread “main” java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:465)
at hyh.MapTest.main(MapTest.java:11)

总结

在这里插入图片描述

map常用方法

V put(K key, V value) 向Map集合中添加键值对

V get(Object key) 通过key获取value

void clear()     清空Map集合

boolean containsKey(Object key) 判断Map中是否包含某个key

boolean containsValue(Object value) 判断Map中是否包含某个value

boolean isEmpty()    判断Map集合中元素个数是否为0

V remove(Object key) 通过key删除键值对

int size() 获取Map集合中键值对的个数

Collection<V> values() 获取Map集合中所有的value,返回一个Collection

Set<K> keySet() 获取Map集合所有的key(所有的键是一个set集合)

Set<Map.Entry<K,V>> entrySet() 将Map集合转换成Set集合

Map集合通过entrySet()方法转换成的这个Set集合,Set集合中元素的类型是 Map.Entry<K,V>(可以理解为一个对象);Map.Entry是静态内部类,是Map中的静态内部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值