Map集合中的常用方法

* 常用方法

  - 注意 Map集合中的key是无序不可重复的set集合,如果添加数据时,key值重复了,后面添加的重复数据也是可以添加成功的,但是会覆盖前面相同的数据。

   1. Object put(Object key,object value)     向Map集合中添加键值对,Map中的key值是不能重复的和hashSet相同 , 存储在map集合key部分的元素需要同时重写hashcode和equals方法。

   2. int size()    输出Map集合中键值对的个数 。

   3. boolean isEmpty()  判断Map集合是否为空

   4. boolean containsKey(Object key) 判断集合中是否包含该key值

   5. boolean containsValue(Object value) 判断集合中是否包含该Value值

   6. Object get(Object key)  通过key值获取value值

   7. Object remove(Object key) 通过key删除整个键值对

   8. Collection values()  获取Map集合中所有的 value

   9. Set keyset() 获取Map集合所有的key值

   10.遍历输出整个Map集合,也就是通过keyset集合的迭代器,先获取到每一个key值,然后再通过key值调用  get(Object key)方法获取到key值对应的value值。

   11. Set EntrySet() 返回此映射中包含的映射关系的Set视图,将Map转换成Set集合的过程,也就是把Map集合中所有的键值对,成对输出,key和value用等号连接。
  • 代码实例
        package com.shige.Collection.Map;
    
        import com.shige.OOP.Inherit.Person;
    
        import java.util.*;
    
        public class MapTest01 {
    public static void main(String[] args) { // 创建一个Map集合
    Map personId = new HashMap(); // 父类引用指向子类对象, HashMap默认初始化容量16,默认加载因子0.75 // 1. Object put(Object key,object value) 向map集合中添加键值对 Map中的key值是不能重复的和hashset相同
    // 存储在map集合key部分的元素需要同时重写hashcode和equals方法
    personId.put("130825199604050713", "施耐庵");
    personId.put("110258632145789652", "曹雪芹");
    personId.put("140256315489961413", "罗贯中");
    personId.put("198524555504050713", "吴承恩");
    personId.put("130825199604050713", "施歌"); // key值重复了,该条数据会添加进去,但是会覆盖原来的数据,也就是覆盖 "施耐庵"。 //2.判断键值对的个数 int size()
    int size = personId.size();
    System.out.println("当前map集合中一共有 " + size + " 对"); // 3.boolean isEmpty() 判断集合是否为空
    System.out.println(personId.isEmpty()); //false // 4.boolean containsKey(Object key) 判断集合中是否包含该key值
    boolean isContainKey = personId.containsKey("130825199604050713");
    System.out.println(isContainKey); //true //5.boolean containsValue(Object value) 判断集合中是否包含该Value值
    boolean isContainValue = personId.containsValue("施耐庵");
    System.out.println(isContainValue); //false boolean isContainValue1 = personId.containsValue("施歌");
    System.out.println(isContainValue1); //true //6.Object get(Object key) 通过key值获取value
    Object personName = personId.get("130825199604050713");
    System.out.println(personName); //7.Object remove(Object key) 通过key删除整个键值对
    personId.remove("198524555504050713");
    System.out.println(personId.get("198524555504050713")); //null 因为已经被移除了
    System.out.println(personId.size()); // 移除了一条数据,还有三条数 /* //8. Collection values() 获取Map集合中所有的value
    Collection values = personId.values(); //将personId集合中的所有value值赋给values集合 //直接输出
    System.out.println(values); // [罗贯中, 施歌, 曹雪芹] //迭代器输出
    Iterator iterator = values.iterator();
    while (iterator.hasNext()) {
    System.out.println(iterator.next());
    } //9.Set keyset() 获取Map集合所有的key值 Set set=personId.keySet(); //将personIdMap集合中的所有key值赋给新的Set集合 //直接输出
    System.out.println(set); //使用迭代器输出
    Iterator iterator1=set.iterator(); //给迭代器重新赋值
    while (iterator1.hasNext()){
    System.out.println(iterator1.next());
    } // 10. 遍历Map集合,同输出<key,value> 方法一 Set set=personId.keySet();
    Collection collection=personId.values();
    Iterator iterator1=set.iterator();
    Iterator iterator2=collection.iterator();
    while(iterator1.hasNext()){
    Object key=iterator1.next();
    Object value=iterator2.next();
    System.out.println("<"+key+","+value+">");
    } */
    //11. 遍历Map集合,同输出<key,value> 方法二 Set set=personId.keySet();
    Collection collection=personId.values();
    Iterator iterator=set.iterator();
    while(iterator.hasNext()){
    Object key=iterator.next();
    Object value=personId.get(key); //通过key来获取value
    System.out.println("<"+key+","+value+">"); } //12. Set EntrySet() 返回此映射中包含的映射关系的Set视图,将map转换成set集合的过程 Set setView=personId.entrySet();
    Iterator iterator1=setView.iterator();
    while (iterator1.hasNext()){
    System.out.println(iterator1.next()); //输出样式: // 140256315489961413=罗贯中
    // 130825199604050713=施歌
    // 110258632145789652=曹雪芹
    } } }

Day10_48_Map集合中的常用方法的更多相关文章

  1. OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法

    字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 ...

  2. 00031_ArrayList集合中常用的方法

    1.ArrayList集合提供的一些常用方法 import java.util.ArrayList; public class ArrayListDemo01 { public static void ...

  3. 【Java】遍历List/Set/Map集合的一些常用方法

    /* * 遍历List/Set/Map集合的一些常用方法 */import java.util.ArrayList;import java.util.HashMap;import java.util. ...

  4. Java集合中的Map接口怎么使用?

    Map(双列集合框架) 1.Map接口及实现类概述 Map 接口提供三种collection 视图,允许以键集.值集或键-值映射关系集的形式查看某个映射的内容.映射顺序 定义为迭代器在映射的 coll ...

  5. Collections中的常用方法

    collections中的常用方法 public class CollectionsTest { public static void main(String[] args) { List list ...

  6. sun.misc.Unsafe中一些常用方法记录

    sun.misc.Unsafe中一些常用方法记录 前情摘要 sun公司提供了可以用于直接操作内存的类,这个类就是sun.misc.Unsafe.因为Java本身是不会涉及到直接操作内存的,Java A ...

  7. List接口中的常用方法

    void add(int index, Object ele):在index位置插入ele元素boolean addAll(int index, Collection eles):从index位置开始 ...

  8. 判断IEnumerable<T>集合中是否包含有T对象

    比如,有角色集合中,只有用户创建有角色,才出现“分配”铵钮.反之,隐藏. IEnumerable有一个方法,叫Any:

  9. java范型集合中的成员排序

    范型集合中的类是JsonObject,不是自定义类,如果是自定义类就直接取要比较的字段值. ArrayList<JSONObject> TList = new ArrayList<J ...

随机推荐

  1. 零信任三大技术之SDP

    SDP概述 SDP Software Defined Perimeter(软件定义边界),2013 年由云安全联盟 CSA提出. SDP 设计基本原则 1.信息隐身:隐藏服务器地址.端口,使之不被扫描 ...

  2. Centos7.7下安装Python3.7 并兼容python2.7

    前言 1.首先来看一下系统版本 [root@python3 ~]# cat /etc/redhat-release CentOS Linux release 7.7.1810 (Core) 2.更新一 ...

  3. [源码解析] 消息队列 Kombu 之 基本架构

    [源码解析] 消息队列 Kombu 之 基本架构 目录 [源码解析] 消息队列 Kombu 之 基本架构 0x00 摘要 0x01 AMQP 1.1 基本概念 1.2 工作过程 0x02 Poll系列 ...

  4. HTML:HTML基础

    HTML不是一门编程语言,而是一种用于定义内容结构的标记语言.HTML由一系列元素(elements)组成,这些元素可以用来包围不同部分的内容,使其以某种方式呈现或工作.一对标签可以为一段文字或者一张 ...

  5. iOS 14.5 有啥新功能?Apple Watch 也能解锁 iPhone 了

    转: iOS 14.5 有啥新功能?Apple Watch 也能解锁 iPhone 了 苹果今天发布了即将发布的 iOS 14.5 和 iPadOS 14.5 更新的第一个 Beta 版本,我们在其中 ...

  6. Linux基本命令——系统管理和磁盘管理

    转: Linux基本命令--系统管理和磁盘管理 Linux命令--系统管理和磁盘管理 一.系统管理 1.1 时间相关指令 <1> 查看当前日历: cal <2> 显示或设置时间 ...

  7. ASP.NET Core 在 .NET 6 Preview 2 中的更新

    原文:<ASP.NET Core updates in .NET 6 Preview 2>,作者 Daniel Roth .NET 6 预览版 2 现已推出,其中包括许多对 ASP.NET ...

  8. 史上超强拷贝仓——GitHub 热点速览 v.21.11

    作者:HelloGitHub-小鱼干 Clone-Wars 是真的强,能细数 70+ 知名应用网站的源码,即便你不看代码,也可以了解下各大网站的所用技术栈.同样很强的是用 OpenCV 实现的图片转 ...

  9. 【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等

    什么是 PaaS?Platform as a Service 平台即服务 (PaaS) 是云中的完整开发和部署环境,你可以使用其中资源交付内容,从基于云的简单应用到启用云的复杂企业应用程序皆可.你以即 ...

  10. SSH&SSM

    SSH和SSM的区别 SSH是Spring+Struts+Hibernate的缩写,是一种Web应用程序开源框架.框架系统分为四层:表选层.业务逻辑层.数据持久层和模块层.SSM是Spring+Spr ...