集合_Map方法详细总结

三、Map集合

1.1 Map集合概述和特点

概述:

​ Map是一种保存偶对象数据的接口标准(存储结构为:“key=value”的形式),开发者可以根据指定的key获取对应的value内容.

interface Map<K,V> K: 键的类型,V: 值的类型

特点:
  1. ​ 键值对映射关系
  2. ​ 一个键对应一个值
  3. 键不能重复,值可以重复
  4. ​ 元素存取无序
Map的基本使用

​ 多态方式创建,具体的实现类HashMap

1.2 Map集合的基本功能

方法名说明
V put(K key,V value)添加元素
V remove(Object key)根据键删除键值对元素
void clear()移除所有的键值对元素
boolean containsKey(Object key)判断集合是否包含指定的键
boolean containsValue(Object value)判断集合是否包含指定的值
boolean isEmpty()判断集合是否为空
int size()集合的长度,也就是集合中键值对个数
import java.util.HashMap;
import java.util.Map;

public class Demo{
   public static void main(String []args){
       //以多态的形式 创建 Map集合对象
       Map<String,Integer> m=new HashMap<>();
       
   //  V put(K key,V value)添加元素
       m.put("张三",11);  //键:张三,值:11;
       m.put("李四",12);
       m.put("王五",13);
       System.out.println(m);   //  {李四=12, 张三=11, 王五=13}
       
   //V remove(Object key)根据键删除键值对元素   
       m.remove("张三");
       System.out.println("移除之后:"+m);   //移除之后:{李四=12, 王五=13}
       
  //boolean containsKey(Object key)判断集合是否包含指定的键   
      boolean b1=m.containsKey("张三"); 
      System.out.println(b1);           //false
      boolean b2=m.containsKey("李四");  
      System.out.println(b2);           //true
       
 //boolean containsValue(Object value)判断集合是否包含指定的值   
      boolean b3=m.containsValue(11);  
      System.out.println(b3);           //false
      boolean b4=m.containsValue(12);  
      System.out.println(b4);           //true
      
 //boolean isEmpty()判断集合是否为空    
      boolean b5=m.isEmpty();  //false
       
 //int size()集合的长度,也就是集合中键值对个数   
     int i=m.size();
     System.out.println("集合的长度:"+i);  //集合的长度:2
       
 //void clear()移除所有的键值对元素   
     m.clear();
    System.out.println("移除所有键值对元素后:"+m);  //移除所有键值对元素后:{}
    System.out.println("此时的集合长度:"+m.size());  //此时的集合长度:0
   }
}

1.3Map的获取功能

方法名说明
V get(Object key)根据键获取值
Set keySet()获取所有键的集合
Collection values()获取所有值的集合
Set<Map.Entry<K,V>> entrySet()获取所有键值对对象的集合

1.4Map集合遍历(一)

遍历思路

​ 我们刚才存储的元素都是成对出现的,所以我们把Map看成是一个夫妻对的集合

​ 把所有的丈夫给集中起来

​ 遍历丈夫的集合,获取到每一个丈夫

​ 根据丈夫去找对应的妻子

步骤分析:

① 获取所有键的集合。用keySet()方法实现

② 遍历键的集合,获取到每一个键。用增强for实现

③ 根据键去找值。用get(Object key)方法实现

public class Demo{
   public static void main(String [] args){
   //1.创建Map集合
      Map<String,String> m=new HashMap<>();
   //2.添加元素
      m.put("张无忌","赵敏");
      m.put("郭靖","黄蓉");
      m.put("杨过","小龙女");
   
   //① 获取所有键的集合。用keySet()方法实现
      Set<String> ks=m.keySet(); 
   ② 遍历键的集合,获取到每一个键。用增强for实现
      for(String key:ks){
        //③ 根据键去找值。用get(Object key)方法实现
          String value=m.get(key);
          System.out.println(value);  //小龙女      黄蓉         赵敏
      }
   }
}

1.5Map集合遍历(二)

遍历思路

​ 我们刚才存储的元素都是成对出现的,所以我们把Map看成是一个夫妻对的集合

​ 获取所有结婚证的集合

​ 遍历结婚证的集合,得到每一个结婚证

​ 根据结婚证获取丈夫和妻子

步骤分析

​ 获取所有键值对对象的集合

​ Set<Map.Entry<K,V>> entrySet():获取所有键值对对象的集合

​ 遍历键值对对象的集合,得到每一个键值对对象

​ 用增强for实现,得到每一个Map.Entry

​ 根据键值对对象获取键和值

​ 用getKey()得到键

​ 用getValue()得到值

public class Demo2{
    public static void main(String[] args){
    //1.创建Map集合
      Map<String,String> m=new HashMap<>();
   //2.添加元素
      m.put("张无忌","赵敏");
      m.put("郭靖","黄蓉");
      m.put("杨过","小龙女");
        
        //遍历Map集合
   //1.获取所有键值对对象的集合     
      Set<Map.Entry<String,String>> es = m.entrySet();
   //2.遍历键值对对象的集合,得到每一个键值对对象
      for(Map.Entry<String,String> me :es){
      // 3、根据键值对对象获取键和值
          String key = me.getKey();
          String value = me.getValue();
          System.out.println(key+","+value);
          //杨过,小龙女
          //郭靖,黄蓉
         //张无忌,赵敏
      }  
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值