Map集合

基本概念
java.util.Map<K,V>接口中存放元素的基本单位是:单对元素 (键值对)

  • K - 用于描述键(Key)的类型

  • V - 用于描述值(Value)的类型

    该接口的主要实现类:HashMap类 和 TreeMap类
    该接口中key(键)不允许重复,而且每个key(键)能且只能对应一个Value(值)

常用方法
V put(K key, V value) 用于将key和value组成一对放入当前集合中

  • 若实现增加功能则返回null;若实现修改功能则返回原来的value.

    boolean containsKey(Object key)

    用于判断当前集合中是否存在参数指定的key  

    boolean containsValue(Object value)

    用于判断当前集合中是否存在参数指定的value   

    V get(Object key)

    用于根据参数指定的key返回对应的value,若key不存在则返回null  

    V remove(Object key)

    用于根据参数指定的key来删除键值对,返回该key对应的value    

    Set<Map.Entry<K,V>> entrySet()

    用于将Map集合转换为Set集合,集合中的每个元素都是键值对  
    • 其中Map.Entry是接口类型,常用方法有:
    • K getKey() 用于获取键值对中的键
    • V getValue() 用于获取键值对中的值

    Set<K> keySet() 用于将Map集合中的所有键放入Set集合中并返回

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    //Map集合各种方法的使用
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;

    public class TestHashMap {

    public static void main(String[] args) {

    //1.声明Map类型的引用指向实现类的对象,形成多态
    Map<String, String> m1 = new HashMap<String, String>();

    //2.向Map集合中添加元素并打印
    m1.put("1", "one");
    m1.put("2", "two");
    m1.put("3", "three");
    System.out.println("m1 = " + m1); //输出{1=one, 2=two, 3=three}

    //3.查找Map集合中是否拥有指定的key以及指定的value并打印
    boolean b1 = m1.containsKey("4");
    System.out.println("b1 = " + b1); //false
    b1 = m1.containsKey("1");
    System.out.println("b1 = " + b1); //true

    b1 = m1.containsValue("eleven");
    System.out.println("b1 = " + b1); //false
    b1 = m1.containsValue("three");
    System.out.println("b1 = " + b1); //true

    System.out.println("--------------------------------------");
    //4.根据参数指定的key返回对应的value,若不存在则返回null
    String str1 = m1.get("5");
    System.out.println("str1 = " + str1); //null
    str1 = m1.get("2");
    System.out.println("str1 = " + str1); //two

    //5.实现集合中元素的删除
    String str2 = m1.remove("10");
    System.out.println("str2 = " + str2); //null
    System.out.println("m1 = " + m1); //{1=one, 2=two, 3=three}

    str2 = m1.remove("1");
    System.out.println("str2 = " + str2); //one
    System.out.println("m1 = " + m1); //{2=two, 3=three}

    //6.实现Map集合中所有元素的遍历
    //方式一:调用toString()方法可以实现遍历
    System.out.println("m1 = " + m1); //{2=two, 3=three}

    //方式二:调用entrySet()方法可以实现遍历
    //实现Map集合向Set集合的转换
    Set<Map.Entry<String,String>> s1 = m1.entrySet();
    //使用for each结构来打印Set集合中的所有元素
    for(Map.Entry<String,String> me : s1){
    //System.out.println(me);
    System.out.println(me.getKey() + "=" + me.getValue());
    }

    //方式三:调用keySet()方法可以实现遍历
    //实现Map集合中所有的key转换为Set集合
    Set<String> s2 = m1.keySet();
    //使用for each结构打印Set集合中的所有元素
    for(String ts : s2){
    System.out.println(ts + "=" + m1.get(ts));
    }
    }

    }


10月      Java

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!