Map-基本方法:(containKey()、get()、remove()、put() 方法)、获取Map中元素的方法:(keySet()、entrySet()方法)

一、Map集合

HashMap<K,V>
* java.util.Map<k,v>集合
* 与Collection集合不同,Map集合是一个是一个双列集合
* Map集合的特点:
    1. Map集合是一个双列集合,一个元素包含两个值(一个key,一个value)
    2. Map集合中的元素,key和value的数据类型可以相同,也可以不同。
    3. Map集合中的元素,key是不允许重复的,value是可以重复的
    4. Map集合中的元素,key和value是一一对应的

* java.util.HashMap<k,v> 集合 implement Map<k,v> 接口
* HashMap集合的特点:
	1. HashMap集合底层是哈希表:查询的速度特别快
	     JDK1.8之前:数组+单向链表
	     JDK1.8之后:数组+单向列表/红黑树(链表的长度超过8):提高查询速度
	2. hashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一致
* java.util.linkedHashMap<k,v>集合  extends HashMap<k,v>集合
* LinkedHashMap集合的特点:
    1. LinkedHashMap集合顶层是哈希表+链表(保证迭代顺序)
    2. LinkedHashMap集合是一个有序的集合,存储元素和取出元素的顺序是一致的。

Map接口中常用的方法
* public Static containsKey(Object key):判断Map集合中是否有指定的key
	返回值:v
		key存在,v返回true
		key不存在,v返回false
		
* public Static get(Object key)根据指定的键,在Map集合中获取对应的值。
	返回值:v
	    key存在,v返回被删除的值
	    key不存在,v返回null
	     
* public V remove(Object key): 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值。
    返回值:v
        key存在,v返回被删除的值
        key不存在,v返回null
          
* public V put(K key, V value):把指定的键与指定的值添加到Map集合中。
    返回值:v
		存储键值对的时候,key不重复,返回值v是null
		存储键值对的时候,key重复,会使用新的value替换map中重复的value,返回被替换的value值
import java.util.HashMap;
import java.util.Map;

public class Demo01Map {
   
    public static void main(String[] args) {
   
        show04();
    }
    /*
	    public Static containsKey(Object key):判断Map集合中是否有指定的key
			返回值:v
				key存在,v返回true
				key不存在,v返回false
    */

    private static void show04() {
   
        Map<String,Integer> map = new HashMap<>();
        map.put("赵丽颖",168);
        map.put("杨颖",165);
        map.put("林志玲",178);
        System.out.println(map); //{林志玲=178, 赵丽颖=168, 杨颖=165}

        boolean b1 = map.containsKey("赵丽颖");
        System.out.println("b1:" + b1);  //b1:true
    }

    /*
        public Static get(Object key)根据指定的键,在Map集合中获取对应的值。
            返回值:v
                key存在,v返回被删除的值
                key不存在,v返回null
     */
    private static void show03() {
   
        //创建Map集合对象
        Map<String,Integer> map = new HashMap<>();
        map.put("赵丽颖",168);
        map.put("杨颖",165);
        map.put("林志玲",178);
        System.out.println(map); //{林志玲=178, 赵丽颖=168, 杨颖=165}

        Integer v1 = map.get("杨颖");
        System.out.println("v1:" + v1); //v1:165
        System.out.println("===============");
    }

    /*
        public V remove(Object key): 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值。
            返回值:V
                key存在,v返回被删除的值
                key不存在,v返回null
     */
    private static void show02() {
   
        //创建Map集合对象
        Map<String,Integer> map = new HashMap<>();
        map.put("赵丽颖",168);
        map.put("杨颖",165);
        map.put("林志玲",178);
        System.out.println(map);    //{赵丽颖=168, 杨颖=165, 林志颖=178}

        Integer v1 = map.remove("林志玲");
        //int v1 = map.remove("林志玲");   //尽量不要使用int,而使用包装类Integer
        System.out.println("v1:"+v1);   //v1:178

        System.out.println(map);
        //{赵丽颖=168, 杨颖=165},并且发现map是一个无序的集合,存和取的顺序有可能不一致
        System.out.println("===================");

    }

    /*
        public V put(K key, V value):把指定的键与指定的值添加到Map集合中。
            返回值:v
                存储键值对的时候,key不重复,返回值v是null
                存储键值对的时候,key重复,会使用新的value替换map中重复的value,返回被替换的value值
     */

    private static void show01() {
   
        //创建 Map集合对象,(使用多态)
        Map<String, String> map = new HashMap<>();

        String v1 = map.put("李晨", "范冰冰1");
        System.out.println("v1:" + v1);//v1:null

        String v2 = map.put
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值