首页 > 其他分享 >集合map

集合map

时间:2023-03-28 18:34:14浏览次数:20  
标签:map name System println key 集合 String

集合map

map集合存储的数据必须包含key和value

key和value在map中一一对应,一个key对应一个值。

key在map集合中不重复,相同key值的value值,后者会覆盖前者。

package com.tiedan;

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

public class testmap {
    public static void main(String[] args) {

        Map<String,String>map = new HashMap<>();
        map.put("name","张三");
        map.put("name","李四");
        System.out.println(map);
    }
}

运行结果:{name=李四}

map集合常用实现类HashMap

HashMap集合的特点

  • 底层数据结构是哈希表

  • 存储元素的顺序和遍历获取出来的顺序可能不一致

  • key不会重复.

Snipaste_2023-03-26_15-50-08

当键值对被放到哈希表中时,哈希表会计算相应的索引值,该键值对就会被存放到相应的索引位置,如果一个索引位置有两个或以上的键值对,就会形成链表

HashMap常用方法

Snipaste_2023-03-26_15-57-42

public class testhashmap {
    public static void main(String[] args) {
        HashMap<String,String>map = new HashMap<>();
        //添加元素
       String put =map.put("name","张三");
       map.put("age","15");
        String v = map.put("name", "李四");
        System.out.println(v);
    }
}
package com.tiedan;

import com.sun.prism.shader.Solid_TextureYV12_AlphaTest_Loader;

import java.util.HashMap;

public class testhashmap {
    public static void main(String[] args) {
        HashMap<String,String>map = new HashMap<>();
        //添加元素
       String put =map.put("name","张三");
       map.put("age","15");
        String v = map.put("name", "李四");
        System.out.println(v);
        //获得元素
        String name = map.get("name");
        String age = map.get("age");
        //删除元素,remove方法也有返回值。
        map.remove("age");
        //判断key值是否存在,containsKey方法判断.
        if (map.containsKey("age111")){
            String age111 = map.get("age111");
            System.out.println(age111.length());
            //如果age111这个key值在Hash表中不存在,则会引起空指针报错
        }else {
            System.out.println("key值不存在");
        }
        //清空哈希表中所有的键值对用clear方法
        //map.size统计map中键值对个数.
        map.clear();
        int size = map.size();
        System.out.println(size);
    }
}

Map集合的遍历

  • 使用entryset遍历
//遍历map集合,entry类是Map的内部类,把map集合中的键值对封装成一个对象,
        // 然后把这个对象通过map.entrySet()存在set集合中
        Set<Map.Entry<String, String>> entries = map.entrySet();
//        System.out.println(entries);
        for (Map.Entry<String, String> entry : entries) {
            System.out.println(entry.getKey()+"==="+entry.getValue());
        }

运行结果:

name=张三
age
=15

  • 使用keyset遍历

    //keyset遍历,通过keyset方法把map里面的key全部放到一个set集合里面.然后通过key值去找value值
    Set<String> strings = map.keySet();
    System.out.println(strings);
    for (String string : strings) {
        System.out.println(string+"==="+map.get(string));
    }
    

运行结果:

name=张三
age
=15

标签:map,name,System,println,key,集合,String
From: https://www.cnblogs.com/zhangtiedangg/p/17266277.html

相关文章

  • qt QSemaphore
    QSemaphore:一个通用的可计数的信号量,信号量实际上就是广义的互斥量。一个互斥量只能被锁定一次,然而一个信号量可以被获取多次。信号量常被用于保护一定数目的同类资源。......
  • mapbox-gl实战教程:加载各种底图技巧
    在地图开发中,加载底图是一个最基本的操作,使用在线开放底图、自己发布的底图、或是客户提供的给底图服务,都存在一定的规律,掌握规律就能顺利的进行底图加载,本文通过以下四个方......
  • 使用Map和循环,优化对象扩展语法操作
    在pnpm的一次提交中,优化了针对对象扩展语法的操作...{}。通过如下代码:constallDeps={...projectSnapshot.devDependencies,...projectSnapshot.dependencies......
  • 32、K8S-配置管理之Configmap
    1、基础知识1.1、场景需求生产中所有的应用程序中,都涉及到配置文件,而配置文件经常会有变更,比如数据库连接、代码版本号等.最典型场景就是:项目经历开发环境、测试环境......
  • 对于Map<String, Object>中时间类型的值进行格式化操作
    需要对List<Map<String,Object>>中的值进行日期格式化返回给前端 for(Map<String,Object>formap:map){Setkeyset=formap.keySet();Datetime=......
  • javaSE-day06(集合进阶)
    异常我们调用一个方法时,经常一部小心就出异常了,然后在控制台打印一些异常信息。其实打印的这些异常信息,就叫做异常。因为写代码时经常会出现问题,Java的设计者们早就为我......
  • 集合
    集合Java集合框架概述回顾数组:集合、数组都是对多个数组进行存储操作的结构,简称Java容器(说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi......
  • ]Java中HashMap遍历的两种方式
    笔试的时候,两次都要用到工具类hashmap,这个东西用起来果然爽啊,但是在我遍历这个map的时候,迭代器写不出来了,真是悲催了,于是还是找下吧,下面的可是要记住用处啊Java中HashM......
  • @RequestMapping的分类
    @RequestMapping的分类 类级别的和方法级别的  @RequestMapping的几种形式:  @RequestMapping(method=RequestMethod.GET) @RequestMapping(value="/{day}",meth......
  • 吃巧克力,容器vector、map,容器适配器 priority_queue,算法sort排序
     #include<algorithm>#include<queue>#include<map>#include<vector>#include<iostream>usingnamespacestd;structchocolate{longlonga;//价......