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. iOS图片预览、放大缩小

    思路 图片预览,优先考虑基础控件UIImageView.UIButton 图片预览中可能需设置不同的mode,优先考虑UIImageView typedef NS_ENUM(NSInteger, UI ...

  2. 微信小程序(六)-项目实例(原生框架 MINA基配搭建)==01-头搜索框tabbar

    项目实例(原生框架 MINA) 1.新建小程序项目 1.用自已的小程序APPID 2.清除整理项目中初建默认无关的代码 1.app.json 中删除logs,同时删除pages下的losgs文件夹 2 ...

  3. Redis操作指南

    目录 Redis安装与使用教程 一.Redis介绍 1.redis安装 2.redis与mysql的异同 3.redis与memcache的异同 二.Redis操作 1.启动服务 2.密码管理 3.连 ...

  4. Dubbo之高级特性

    Dubbo 注意当启动服务时,该服务会占用本机一个端口号,故在一台电脑启动多个服务时需要在配置文件中更占用本机的端口号 <!--服务占用本机的端口-当本机启动多个服务时须保持不同--> & ...

  5. 使用 Tye 辅助开发 dotnet 应用程序

    newbe.pro 已经给我们写了系列文章介绍Tye 辅助开发k8s 应用: 使用 Tye 辅助开发 k8s 应用竟如此简单(一) 使用 Tye 辅助开发 k8s 应用竟如此简单(二) 使用 Tye ...

  6. 《C++ Primer》笔记 第12章 动态内存

    shared_ptr和unique_ptr都支持的操作 解释 shared_ptr sp或unique_ptr up 空智能指针,可以指向类型为T的对象 p 将p用作一个条件判断,若p指向一个对象,则 ...

  7. Docker下FastDFS环境搭建

    本文使用docker进行搭建. #拉取镜像docker pull delron/fastdfs​#创建tracker容器docker create --network=host --name trac ...

  8. 微信小程序3D轮播图

    <!-- 轮播图 --> <swiper previous-margin='50px' next-margin='50px' bindchange="swiperChang ...

  9. 剑指 Offer 52. 两个链表的第一个公共节点 + 链表 + 第一个公共结点 + 双指针

    剑指 Offer 52. 两个链表的第一个公共节点 Offer_52 题目详情 题解分析 可以使用两个指针 node1,node2 分别指向两个链表 headA,headB 的头结点,然后同时分别逐结 ...

  10. POJ-3436(网络流+最大流+输出路径)

    ACM Computer Factory POJ-3436 题目就是一个工厂n个加工机器,每个机器有一个效率w,q个材料入口,q个材料出口,每个口有三个数表示状态,1表示一定有入/出的材料,0表示没有 ...