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. 维格表2月更新:智能图表上线,唤醒全量工作数据堪比AI

    你是否曾经想过,你的维格表数据有朝一日变化出如科幻电影般的数据图表? 你是否感到厌倦,对当前的后台系统密密麻麻的数据累觉不爱? 你是否一直期待,拥有一个专属大数据 BI 看板,让你的规划如有神助,挥斥 ...

  2. linux系统的认识

    当使用其他工具连接linux系统时的常用命令. 连接:ssh 用户名@ip 进入根目录:cd /            (一般都是先进入根目录然后才能进入其他文件夹) 进入其他文件夹:cd /home ...

  3. LeetCode1576. 替换所有的问号

    原题链接 1 class Solution { 2 public: 3 string modifyString(string s) { 4 int lens = s.length(); 5 for(i ...

  4. 一文讲通.NET Core部署到Windows IIS最全解决方案

    回顾之前的ASP.NET的经典托管 在经典ASP.NET应用程序中,所有一切都托管在IIS工作进程中(w3wp.exe),这也被称为IIS应用程序池.ASP.NET程序被托管在应用程序池中,并且被按照 ...

  5. 2020年12月-第01阶段-前端基础-认识HTML

    1. HTML 初识 HTML 指的是超文本标记语言 (Hyper Text Markup Language)是用来描述网页的一种语言. HTML 不是一种编程语言,而是一种标记语言 (markup ...

  6. mysql 基本指令 1

    desc 表名  --查看表属性 show create table 表名 \g;  --查看代码 alter table 表名 auto_increment=20;  --改自增的值 MySQL:自 ...

  7. PHP配置 2. 日志相关配置

    例如,在disable_functions,定义禁用phpinfo函数, # vim /usr/local/php/etc/php.ini disable_functions=phpinfo,eval ...

  8. idea配置struts2.5环境

    struts2不是struts1的下一代产品,是在struts1和WebWork技术的基础上进行合并后的全新框架,虽然两个名字相似,但是设计思想却有很大的不同. 使用本地的l ib 或者downloa ...

  9. python多线程参考文章

    1. https://www.jianshu.com/p/c93e630d8089 2.https://www.runoob.com/python/python-multithreading.html ...

  10. 08、元组tuple

    元组(tuple) 是一个有序且不可变的容器,在里面可以存放多个不同类型的元素 元组是在最后多一个逗号,用于表示它是一个元组 tuple = (11,22,'阿斯顿','媚媚',) #后面多加一个逗号 ...