• Map


    Map接口:

    • Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式储存的,能够实现根据key快速查找value
    • Map中的键值对以Entry类型的对象实例形式存在
    • 键(key)不可重复,value值可以
    • 一个value可以跟很多key形成对应关系,但是一个key只能映射到一个value
    • Map支持泛型,形式如:Map<K,V>

    HashMap:

    • HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现
    • HashMap中的Entry对象是无序排列的
    • Key值和value值都可以为null,但一个HashMap只能有一个key值为null的映射(key值不可重复)

    Map的增删改查:

     1 import java.util.*;
     2 class MapDemo 
     3 {
     4     public static void main(String[] args) 
     5     {
     6         Map< String, Student> map = new HashMap<String,Student>();
     7         put(map);
     8         //System.out.println(map.size());//其size方法返回map内部元素的数量
     9         testKeySet(map);
    10 
    11         map.remove("1");//Map接口的删除方法,根据键删除该键映射的值
    12         System.out.println("删除后");
    13         testKeySet(map);
    14     }
    15 
    16 
    17     //Map接口的添加方法
    18     public static void put(Map< String, Student> map)
    19     {
    20         map.put("1",new Student("1","乔布斯"));
    21         map.put("2",new Student("2","比尔盖茨"));
    22 
    23         //通过其键返回其值
    24         System.out.println(map.get("1").id+":"+map.get("1").name);
    25     }
    26 
    27     //利用put方法修改Map中已有的映射
    28     public static void testModify(Map<String ,Student> map,int i,Student newStudent)
    29     {
    30         //根据Map集合一个键只能对应一个值的特点,键不变,而值改变
    31         map.put(i,newStudent);
    32     }
    33 
    34 
    35     //遍历Map集合(通过keySet)
    36     public static void testKeySet(Map<String ,Student> map)
    37     {
    38         //通过keySet方法,返回Map中的所有键的Set集合
    39         Set<String> keyset = map.keySet();
    40         //遍历keySet,取得每一个键,再使用get方法取得每个键对应的value
    41         for (String stuId : keyset)
    42         {
    43             Student st = map.get(stuId);
    44             System.out.println(st.id+":"+st.name);
    45         }
    46     }
    47 
    48     //通过entrySet方法来编辑Map
    49     public void testEntrySet(Map< String, Student>map)
    50     {
    51         //通过entrySet方法,返回Map中的所有键值对
    52         Set<Entry< String, Student>> entrySet = map.entrySet();
    53         //通过for each 遍历entrySet
    54         for(Entry<String, Student> entry : entrySet)
    55         {
    56             System.out.println("取得键:"+entry.getKey());
    57             System.out.println("对应的值为:"+entry.getValue().name);
    58         }
    59     }
    60 
    61     
    62 
    63 }
    64 
    65 class Student
    66 {
    67     String name;
    68     String id;
    69     Student(String id, String name)
    70     {
    71         this.id = id;
    72         this.name = name;
    73     }
    74 }
    View Code
  • 相关阅读:
    HDU 5446 CRT+Lucas+快速乘
    awk的用法
    【福利】小程序开发资源干货汇总
    前端css常用的选择小汇
    前端css常用的选择小汇
    前端,Java,产品经理,微信小程序,Python等资源合集大放送
    前端,Java,产品经理,微信小程序,Python等资源合集大放送
    bootstrap+fileinput插件实现可预览上传照片功能
    bootstrap+fileinput插件实现可预览上传照片功能
    Jquery前端分页插件pagination同步加载和异步加载
  • 原文地址:https://www.cnblogs.com/gzc911/p/4934591.html
Copyright © 2020-2023  润新知