zoukankan      html  css  js  c++  java
  • 学习笔记之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());
            }
        }
    }
    
  • 相关阅读:
    再谈TextField
    IOS-TextField知多少
    leftBarButtonItems
    LeftBarButtonItems,定制导航栏返回按钮
    Apple Mach-O Linker (id) Error "_OBJC_CLASS...错误解决办法 Apple Mach-O Linker (id) Error "_OBJC_CLASS...错误解决办法
    Unrecognized Selector Sent to Instance问题之诱敌深入关门打狗解决办法
    UNRECOGNIZED SELECTOR SENT TO INSTANCE 问题快速定位的方法
    Present ViewController,模态详解
    UILABEL AUTOLAYOUT自动换行 版本区别
    iOS自动布局解决警告Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0
  • 原文地址:https://www.cnblogs.com/Hz-z/p/12797409.html
Copyright © 2011-2022 走看看