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. 视频+图文串讲:MySQL 行锁、间隙锁、Next-Key-Lock、以及实现记录存在的话就更新,如果记录不存在的话就插入如何保证并发安全

    导读 Hi,大家好!我是白日梦!本文是MySQL专题的第 27 篇. 下文还是白日梦以自导自演的方式,围绕"如何实现记录存在的话就更新,如果记录不存在的话就插入."展开本话题.看看 ...

  2. Nearby Service新特性:Wi-Fi分享

    PART 1: Wi-Fi分享功能介绍 朋友来家里做客.顾客到店里用餐-当他们想要给自己的手机链接Wi-Fi时,总免不了询问Wi-Fi名称和密码..这种问密码和给密码的过程十分麻烦,常常还会有听错或者 ...

  3. Pygame基础(1)

    Pygame是Python的一个很常用的游戏框架,今天我来讲一讲Pygame的基础知识 Pygame的官网:https://www.pygame.org/news Pygame的下载 打开cmd输入p ...

  4. WPF -- DataTemplate与ControlTemplate结合使用

    如深入浅出WPF中的描述,DataTemplate为数据的外衣,ControlTemplate为控件的外衣.ControlTemplate控制控件的样式,DataTemplate控制数据显示的样式,D ...

  5. MySQL:多表查询

    SELECT查询不但可以从一张表查询数据,还可以从多张表同时查询数据.查询多张表的语法是:SELECT * FROM <表1> <表2>,普通多表查询会获取M x N行记录,所 ...

  6. macOS命令行切换Python版本

    目录 brew安装anaconda3 anaconda3环境变量设置 安装双版本 命令后切换python环境 pip ide vscode set 参考 brew安装anaconda3 brew ca ...

  7. LeetCode-133克隆图(图的遍历+深拷贝概念)

    克隆图 LeetCode-133 使用一个map来存储已经遍历的结点,这个存起来的结点必须是新new的才符合题意 /* // Definition for a Node. class Node { p ...

  8. Excel_不打开文件进行跨工作簿查询

    在使用Excel时,我们经常会遇到这种问题,我的数据源在表1里面,但是我要在表2里面做报表,用lookup和offset等公式都需要打开表1操作,否则就会报错.那么有没有办法在不打开表1的情况下在表2 ...

  9. 不一样的软件们——GitHub 热点速览 v.21.10

    作者:HelloGitHub-小鱼干 创意,是程序员的一个身份代名词,一样的软件有不一样的玩法.比如,你可以像用 git 一样操作一个 SQL 数据库,dolt 就是这样的数据库.又比如,你可以只写文 ...

  10. SpringCloud里面切换数据源无效的问题

    问题描述: 调用链:controller1的接口A->service1的方法A->service2的方法B 方法A开启了事务,且指定了数据库A的数据源 方法B也开启了事务,使用了默认的事务 ...