• 学习笔记之Map集合


    Map集合

    Map 集合的概述

    • interface Map<K,V> K:键的类型; V:值得类型
    • 将键映射到值得对象;不能包含重复的键;每个键可以映射到最多一个值
    • 例如:学生的学号和姓名
      • 001     张三
      • 002     李四
      • 003     王五

    创建Map集合的对象

    • 多态的方式
    • 具体的实现类HashMap
    import java.util.HashMap;
    import java.util.Map;
    
    public class Demo {
        public static void main(String[] args) {
            Map<String, String> map = new HashMap<>();
    
            //V put(K key, V value) 将指定的值与该映射中的指定键相关联
            map.put("001", "张三");
            map.put("002", "李四");
            map.put("003", "王五");
            map.put("001", "二狗");  //当键第二次出现将会修改第一次出现的值
            System.out.println(map);
        }
    }
    
    

    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<String, Double> map = new HashMap<>();
            //V put(K key, V value)
            map.put("K01", 0.1);
            map.put("K02", 0.2);
            map.put("K03", 0.3);
    
            System.out.println(map);
    
            //V remove(Object key)
            System.out.println(map.remove("K02"));
            System.out.println(map);
            //boolean containsKey(Object key)
            System.out.println(map.containsKey("K03"));
            //boolean containsValue(Object value)
            System.out.println(map.containsValue(0.3));
            //boolean isEmpty()
            System.out.println(map.isEmpty());
            // int size()
            System.out.println(map.size());
            //void clear()
            map.clear();
            System.out.println(map);
        }
    }
    
    

    Map集合获取功能

    • V get(Object key):根据键获取值
    • Set keySet():获取所有键的集合
    • Collection values():获取所有值的集合
    import java.util.*;
    
    public class Demo {
        public static void main(String[] args) {
            Map<String, Double> map = new HashMap<>();
    
            map.put("K01", 0.01);
            map.put("K02", 0.02);
            map.put("K03", 0.03);
            //V get(Object key):根据键获取值
            System.out.println(map.get("K03"));
            //Set<K> keySet():获取所有键的集合
            System.out.println(map.keySet());
            //Collection<V> values():获取所有值的集合
            System.out.println(map.values());
    
        }
    }
    
    

    Map集合的遍历方式一

    遍历思路:

    • 获取所有键的集合。用keySet()方法实现
    • 遍历键的集合,获取到每一个键。用增强for实现
    • 根据键去找值。用get(Object key)实现
    import java.util.*;
    
    public class Demo {
        public static void main(String[] args) {
            Map<String, Double> map = new HashMap<>();
            map.put("K01", 0.1);
            map.put("K02", 0.2);
            map.put("K03", 0.3);
            map.put("K04", 0.4);
            Set<String> key = map.keySet();
            for (String k : key) {
                Double value = map.get(k);
                System.out.println(k + "," + value);
            }
        }
    }
    

    Map集合的遍历方式二

    遍历思路:

    • 获取所有键值对对象的集合
      • Set<Map.Entry<K,V>> entrySet():获取所有键值对对象的集合
    • 遍历键值对对象的集合,得到每一个键值对对象
      • 用增强for实现,得到每一个Map.Entry
    • 根据键值对对象获取键和值
      • getKey()得到键
      • getValue()得到值
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
    public class Demo {
        public static void main(String[] args) {
            Map<String, String> map = new HashMap<>();
            map.put("A", "a");
            map.put("B", "b");
            map.put("C", "c");
            Set<Map.Entry<String, String>> entries = map.entrySet();
            for (Map.Entry<String, String> i : entries) {
                System.out.println(i.getKey() + "," + i.getValue());
            }
        }
    }
    
  • 相关阅读:
    MapReduce 中的Map后,sort不能对中文的key排序
    wordCount程序中MapReduce工作过程分析
    使用eclipse的快捷键自动生成的map或者reduce函数的参数中:“org.apache.hadoop.mapreduce.Reducer.Context context”
    "hadoop namenode -format"命令的作用和影响的文件
    伪分布模式下使用java接口,访问hdfs
    MySQL Server 5.5.44免安装版配置详解
    quartz Cron表达式一分钟教程
    【转载】jQuery弹出层始终垂直居中于当前屏幕
    LeetCode 151 翻转字符串里的单词
    LeetCode 43 字符串相乘
  • 原文地址:https://www.cnblogs.com/Hz-z/p/12797409.html
Copyright © 2020-2023  润新知