首页 > 其他分享 >Map概述、构造方法、遍历

Map概述、构造方法、遍历

时间:2024-08-13 23:28:44浏览次数:12  
标签:Map 遍历 构造方法 System map1 键值 println out

package com.shujia.day15;

import java.util.HashMap;
import java.util.Map;

/*
    Map: 存储元素的特点是每一个元素是一个键值对{【name:"魏一民"】 , 【age:18】}

    Map集合的共同拥有的特点:
        1、Map集合中的元素,键是唯一的,不会在一个Map集合发现两个相同的键
            1001:魏一民
            1002:陈真
            1001:小虎
        2、Map集合中,值是可以发生重复的
            1001:魏一民
            1002:魏一民
        3、Map集合的唯一性,排序都是针对键来说的,值是跟着键走的

    Map(接口)
        - HashMap(底层数据结构是哈希表,元素要想保证唯一性的话,需要重写hashCode和equals方法)
        -


    Map接口中的成员方法:
        V put(K key,V value)                 向集合中添加键值对元素  返回的是被覆盖的键对应的那个值
        V remove(Object key)                 根据键删除一个键值对元素 返回被删除键值对的值
        void clear()                         清空集合
        boolean containsKey(Object key)      判断键是否存在
        boolean containsValue(Object value)  判断值是否存在
        boolean isEmpty()                    判断是否为空
        int size()                           获取集合中的键值对的个数



 */
public class MapDemo1 {
    public static void main(String[] args) {
        //创建一个Map对象
        Map<Integer, String> map1 = new HashMap<>();

        //V put(K key,V value) 向集合中添加键值对元素  返回的是被覆盖的键对应的那个值
        System.out.println(map1.put(1001, "魏一民"));
        System.out.println(map1.put(1002, "陈真"));
        System.out.println(map1.put(1003, "李建国"));
        System.out.println(map1.put(1001, "小虎")); // 会将上面1001键的值进行覆盖操作
        System.out.println(map1.put(1004, "陈旺"));

        System.out.println("map1: " + map1);
        System.out.println("-----------------------------------------------");
        //V remove(Object key) 根据键删除一个键值对元素 返回被删除键值对的值
//        System.out.println(map1.remove(1001));
//        System.out.println("map1: " + map1);
        System.out.println("-----------------------------------------------");
//        //void clear()
//        map1.clear();
//        System.out.println("map1: " + map1);
        System.out.println("-----------------------------------------------");
        //boolean containsKey(Object key) 判断键是否存在
        System.out.println(map1.containsKey(1001));
        System.out.println("-----------------------------------------------");
        //boolean containsValue(Object value) 判断值是否存在
        System.out.println(map1.containsValue("小虎3"));
        System.out.println("-----------------------------------------------");
        //boolean isEmpty()
        System.out.println(map1.isEmpty());
        System.out.println("-----------------------------------------------");
        //int size() 获取集合中的键值对的个数
        System.out.println(map1.size());


    }
}
package com.shujia.day15;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/*
    map集合的遍历
    遍历方式:
        方式1:先一次性获取所有的键,遍历键根据键找到值。
        方式2:可以拿到每一键值对组成的一个对象,遍历这个对象中的元素得到每一个键值对中的键和值。

 */
public class MapDemo2 {
    public static void main(String[] args) {
        //创建一个Map对象
        Map<Integer, String> map1 = new HashMap<>();

        //V put(K key,V value) 向集合中添加键值对元素  返回的是被覆盖的键对应的那个值
        System.out.println(map1.put(1001, "魏一民"));
        System.out.println(map1.put(1002, "陈真"));
        System.out.println(map1.put(1003, "李建国"));
        System.out.println(map1.put(1001, "小虎")); // 会将上面1001键的值进行覆盖操作
        System.out.println(map1.put(1004, "陈旺"));

        System.out.println("map1: " + map1);
        System.out.println("-----------------------------------------------");
        //方式1:先一次性获取所有的键,遍历键根据键找到值。
        //keySet() 获取map集合中所有的键,返回所有的键组成的一个Set集合
        Set<Integer> keys = map1.keySet();
        //遍历键集合,得到每一个键
        for (Integer key : keys) {
            //get() 根据键获取值
            String value = map1.get(key);
            System.out.println(key + "-" + value);
        }
        System.out.println("-----------------------------------------------");
        //方式2:可以拿到每一键值对组成的一个对象,遍历这个对象中的元素得到每一个键值对中的键和值。
        //entrySet() 获取每一个键值对,组成一个Set集合
        Set<Map.Entry<Integer, String>> entries = map1.entrySet();
        for (Map.Entry<Integer, String> entry : entries) {
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key+"-"+value);
        }
    }
}

标签:Map,遍历,构造方法,System,map1,键值,println,out
From: https://www.cnblogs.com/qiwei-bigdata/p/18357934

相关文章

  • Java并发类的主要API方法-Semaphore
    一、Semaphoreemaphore是Java并发包(java.util.concurrent)中的一个同步工具类,类Semaphore所提供的功能完全就是synchronized关键字的升级版,但它提供的功能更加的强大与方便,主要的作用就是控制线程并发的数量,而这一点,单纯地使用synchronized是做不到的。emaphore它用......
  • mmap原理
    https://www.cnblogs.com/binlovetech/p/17712761.htmlhttps://yangjie2.github.io/2021/11/14/mmap原理与应用/基础物理世界中的实体或者逻辑实体在计算机中都用数据结构来表示,比如一个进程就用一个task_struct来表示。进程的虚拟内存用一个代表虚拟内存的节点组成的链表来表......
  • 24-08-08 JavaSE Map集合
    24-08-08javaSEMap集合Map接口的特点Map与Collection并列存在。用于保存具有映射关系的数据:Key-Value(双列元素)Map中的key和value可以是任何引用类型的数据,会封装到HashMap$Node对象中3.Map中的key不允许重复,原因和HashSet一样,前面分析过源码.Map......
  • 代码随想录算法训练营第十三天|二叉树理论基础,144.二叉树的前序遍历,145.二叉树的中序
    day12周日放假二叉树理论基础:文章链接:代码随想录文章摘要:满二叉树定义:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。完全二叉树定义:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一......
  • delphi里的 low to high遍历
    在Delphi中,Low和High是两个非常有用的函数,它们分别用于获取枚举类型、数组、字符串或其他有序类型的最小值和最大值。当你想要遍历这些类型的所有可能值时,Low和High函数就显得特别有用。以下是关于如何使用Low和High函数进行遍历的详细说明:遍历枚举对于枚举类型,Low......
  • wpf GMap
    AMapProviderBasepublicabstractclassAMapProviderBase:GMapProvider{publicAMapProviderBase(){MaxZoom=null;RefererUrl="http://www.amap.com/";//Copyright=string.Format("©{0}高德Corporation,©{0}......
  • 专题 (五) map 数据结构
    1、用法用法说明1、declare-Amap2、declare-AmyMap=(["my01"]="01"["my02"]="02")3、declare-Amap=()1、声明map变量2、声明map变量的同时可以赋值3、定义一个空mapmap[$_key]=$_count指定key赋值value,其中_key和_value均是shenll变量1、e......
  • 提升SEO与网站可爬性 :动态生成sitemaps和robots.txt文件
    本文由ChatMoney团队出品在现代Web开发中,搜索引擎优化(SEO)是网站成功的关键因素之一。搜索引擎通过网络爬虫来索引网页,而sitemaps和robots.txt文件则是帮助这些爬虫更好地理解和索引网站内容的重要工具。sitemaps简介Sitemap(站点地图)是一种XML文件,它包含了网站上的所有URL以......
  • 动态生成sitemaps和robots.txt文件:提升SEO与网站可爬性
    本文由ChatMoney团队出品在现代Web开发中,搜索引擎优化(SEO)是网站成功的关键因素之一。搜索引擎通过网络爬虫来索引网页,而sitemaps和robots.txt文件则是帮助这些爬虫更好地理解和索引网站内容的重要工具。sitemaps简介Sitemap(站点地图)是一种XML文件,它包含了网站上的所有URL以......
  • 设计模式-标识映射(Identity Map)
    概念通过在映射中保存每个已经加载的对象,确保每个对象只加载一次。当要访问对象的时候,通过映射来查找他们。从数据库加载对象时,对象与其映射的一致性、重复加载,这些都是需要得到保证的。标识映射记录在一个业务事务中从数据库读出的所有对象。无论什么时候要用一个对象,先检......