首页 > 编程语言 >Java 中的Map集合

Java 中的Map集合

时间:2024-02-03 16:22:19浏览次数:22  
标签:Map Set Java map value 遍历 key 集合

Map

1.Map接口中常用的方法

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
/*
java.util.Map接口中常用的方法:
Map和Collection没有继承关系
Map集合以key和value的方式存储数据:键值对
key和value都是引用数据类型
key和value都是存储对象的地址
key起主导的地位:value是key的附属品
Map接口中常用的方法:
    void clear()
    boolean containsKey(Object key)
    boolean containsValue(Object value)
    V get (object key) 通过key获取value
    V put(K key, V value);
    boolean isEmpty();
    Set<K> keySet();  获取Map集合中所有的key
    Set<Map.Entry<K, V>> entrySet();

* */
public class MapTest {
    public static void main(String[] args) {
        //创建Map集合对象
        Map<Integer, String> map = new HashMap<>();
        map.put(1,"a");
        map.put(2,"b");
        map.put(3,"c");
        map.put(4,"d");
        //通过key获取value
        System.out.println(map.get(1));
        //获取键值对的数量
        System.out.println(map.size());
        //通过key删除value
        map.remove(2);
        //判断是否包含某个value
        //contians方法底层调用的都是equals进行比对的,所以自定义的类型需要重写equals方法。
        System.out.println(map.containsValue("a")); //true
        //判断是否包含某个key
        System.out.println(map.containsKey(1)); //true
        //获取所有的value
        Collection<String > value = map.values();
        //清空map集合
        map.clear();
    }
}

2.Map集合的遍历

  • 第一种方法:获取所有的key,通过遍历key,遍历value

  • 第二种方式遍历 Set<Map.Entry<K, V>> entrySet();

    以上这个方法是把map集合直接全部转化成set集合
    Set集合中元素类型是:Map.Entry
    Set<Map.Entry<Integer,String>> set = map.entrySet();
    遍历Set集合,每次取出来一个node

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

/*
* Map集合的遍历
* */
public class MapTest02 {
    public static void main(String[] args) {
        //获取所有的key,通过遍历key,遍历value
        Map<Integer,String> map = new HashMap<>();
        map.put(1,"a");
        map.put(2,"b");
        map.put(3,"c");
        map.put(4,"d");

        //遍历 ,先获取所有的value
        Set<Integer> keys = map.keySet();
        Iterator<Integer> it = keys.iterator();
        while(it.hasNext()){
            Integer key = it.next();
            String value = map.get(key);
            System.out.println(key + "=" + value);
        }
        //foreach也可以
        for (Integer key : keys) {
            System.out.println(key + "=" + map.get(key));

        }
        //第二种方式遍历 Set<Map.Entry<K, V>> entrySet();
        //以上这个方法是把map集合直接全部转化成set集合
        //Set集合中元素类型是:Map.Entry
        Set<Map.Entry<Integer,String>> set = map.entrySet();
        //遍历Set集合,每次取出来一个node
        //迭代器
        Iterator<Map.Entry<Integer,String >> itt = set.iterator();
        while(itt.hasNext()){
            Map.Entry<Integer,String > node = itt.next();
            Integer key = node.getKey();
            String value = node.getValue();
            System.out.println(key + "=" + value);
        }
    }
}

标签:Map,Set,Java,map,value,遍历,key,集合
From: https://www.cnblogs.com/shijili/p/18004890

相关文章

  • 如何在 JavaScript 中验证 URL
    如何在JavaScript中验证URL统一资源定位符URL(UniformResourceLocator)引导你进入互联网上的一个页面或文件。URL是互联网上事物的地址。所有有效的URL都遵循某些模式。因此,如果你知道这些模式,你就可以在你的程序中确定一个URL是否有效,并给出反馈、抛出一个错误,等等。......
  • java项目启动脚本
    #!/bin/sh##javaenv##API_NAME:包名API_NAME=dsJAR_NAME=`ls$API_NAME*.jar`#PID代表是PID文件PID=$API_NAME\.pid#使用说明,用来提示输入参数usage(){echo"Usage:sh执行脚本.sh[start|stop|restart|status]"exit1}#检查程序是否在运行is_ex......
  • java中如何获取Stream流
    在Java中获取Stream流主要有以下几种方式:通过集合类(Collection)获取:所有的java.util.Collection接口的实现类,包括List,Set,和Queue等,都可以使用.stream()方法来获取一个Stream。例如:List<String>list=Arrays.asList("a","b","c");Stream<String>streamOfList=......
  • 关于java时间类型和格式化到微秒问题
    常规的问题此处略,因为网络上到处都是,这里主要讨论三个问题:1.数据库的时间戳类型(含微秒)对应java的什么类型java的常见时间类型比较多:java.util.Datejava.sql.Datejava.sql.Timestampjava.util.Calendarjava.time.LocalDatejava.time.LocalTimejava.time.LocalDateTime......
  • java字节码指令
    java字节码指令  概要  众所周知,Java字节码是跨平台的,因此Java才能一次编译,处处运行。关于JVM和字节码的认识分成2个部分:  1.JVM(JavaVirtualMachine,Java虚拟机)是Java程序运行的虚拟计算机。它是Java平台的一部分,负责解释和执行Java字节码,并提供一种跨平台的运行......
  • 狂神说Java Web学习笔记_JSP
    什么是JSPJSP(JavaServerPages):Java服务器端页面,和Servlet一样,用于动态web技术!写JSP就像在写HTML。它们之间不同的是,JSP页面里可以嵌入Java代码,提供动态数据。JSP原理IDEA使用tomcat服务器,会在tomcat中产生一个work目录;C:\Users\winner\AppData\Local\JetBrains\IntelliJId......
  • 狂神说Java Web学习笔记_Cookie&Session
    Cookie,Session保存会话的两种技术,Cookie(客户端技术),Session(服务端技术)Cookie服务器端设置token,从客户端获取tokenCookie[]cookies=req.getCookies();//从客户端获取cookiecookie.getName();//获取cookie名字cookie.getValue();//获取cookie值Cookiecookie=newCoo......
  • postman自动生成Cookie java代码怎么实现
    在Java中实现Postman自动生成Cookie的功能,通常涉及到模拟HTTP请求,处理服务器的响应,并提取Cookie信息。这个过程可以使用一些Java库,如ApacheHttpClient或者OkHttp。以下是使用ApacheHttpClient来实现这个功能的步骤:步骤1:添加依赖首先,您需要在项目的pom.xml文件中添加ApacheHttpC......
  • JAVA8 - 异步编程
    目录FutureFutureFuture接口在JAVA5中被引入,设计初衷式对将来某个时刻会发生的结果进行建模。它建模了一中异步计算,返回一个执行运算结果的引用,当运算结束后,这个引用被返回给调用方。在Future中触发那些潜在耗时的操作把调用线程解放出来,让它能继续执行其他有价值的工作,不再......
  • Java 数据类型详解与类型转换技巧
    Java数据类型Java中的变量必须是指定的数据类型:intmyNum=5;//整数floatmyFloatNum=5.99f;//浮点数charmyLetter='D';//字符booleanmyBool=true;//布尔值StringmyText="Hello";//字符串数据类型分为两组:......