Java中HashMap获取值的几种方式汇总

目录
  • Java HashMap获取值的方式
  • Java HashMap基本用法
  • 总结

Java HashMap获取值的方式

1、通过keySet()方法获取key的集合,因为在HashMap中key值不能重复,所以返回的是一个Set()类型。

2、通过entrySet()方法获取键值对的集合,再通过getKey()和getValue()方法获取key和value。

3、通过values()方法获取value集合,因为value可以重复,因此返回的类型为Collection。

package com.example.demo;

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

public class Test {
    public static void main(String args[]) {
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        map.put("Kobe", 8);
        map.put("Jordan", 23);
        map.put("James", 6);
        map.put("Curry",30);
        map.put("Durant",35);

        //通过keySet()获取key,再通过map.get(key)获取value
        Set<String> set = map.keySet();
        for(String str : set) {
            System.out.println(str + " " + map.get(str));
        }
        System.out.println( "------------" );

        //通过map.entrySet()获得键值对,性能较高
        Set<Map.Entry<String, Integer>> en = map.entrySet();
        for(Map.Entry<String, Integer> entry : en) {
            System.out.println(entry.getKey() + " " + entry.getValue());
        }
        System.out.println( "------------" );

        //通过values()取值
        Collection<Integer> values = map.values();
        for(Integer i : values)
            System.out.println(i);
    }
}
 

Java HashMap基本用法

  • HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
  • HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。
  • HashMap 是无序的,即不会记录插入的顺序。
  • HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。
    // 创建 HashMap 对象 Sites
    HashMap<Integer, String> Sites = new HashMap<Integer, String>();
    
    // 添加键值对
    Sites.put(1, "Google");
    Sites.put(2, "Runoob");
    System.out.println(Sites); // 输出:{1=Google, 2=Runoob}
    
    // 我们可以使用 get(key) 方法来获取 key 对应的 value
    System.out.println(Sites.get(2)); // 输出:Runoob
    
    // 我们可以使用 remove(key) 方法来删除 key 对应的键值对(key-value)
    Sites.remove(2);
    
    // 删除所有键值对(key-value)可以使用 clear 方法
    Sites.clear();
    
    // 计算 HashMap 中的元素数量可以使用 size() 方法
    System.out.println(Sites.size());

迭代 HashMap

    // 输出 key 和 value
    for (Integer i : Sites.keySet()) {
    System.out.println("key: " + i + " value: " + Sites.get(i));
    }
    // 返回所有 value 值
    for(String value: Sites.values()) {
    // 输出每一个value
    System.out.print(value + ", ");
    }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Map集合中获取key-value值的实现方法

    目录 一.前置准备 二.获取Map的key-value值 方法一 方法二 方法三 总结 Map<K,V>集合是一种键值映射形式的集合. 当调用put(K key,V value)方法把数据存到Map中后,如何把Map中的key值和value值取出来呢? 都有哪几种取值的方法呢?下边就来一一介绍. 一.前置准备 以HashMap为例,先为map中存入几个数据,以便于后边对map的取值遍历. package com.jinglan.list; import java.util.HashMap; p

  • Java使用keySet方法获取Map集合中的元素

    本文为大家分享了Map集合中利用keySet方法获取所有的元素值,供大家参考,具体内容如下 /*--------------------------- Map集合中利用keySet方法获取所有的元素值: ....keySet方法:将Map中的所有key值存入到Set集合中, ....利用Set集合提供的迭代器获取到每一个key值,再通过key值获得相应的value值 ----------------------------*/ package pack03; import java.util.*

  • Java中初始化List集合的八种方式汇总

    目录 1.常规方式 2.Arrays 工具类 3.Collections 工具类 4.Lists 工具类 5.匿名内部类 6.ImmutableList 7.Java8 Stream 8.Java9 List.of 总结 List 是在开发中比较常用的集合,今天总结一下 Java 中初始化 List 的几种方式. 1.常规方式 List<String> list = new ArrayList<>(); list.add("1"); list.add("

  • 详解Java中数组判断元素存在几种方式比较

    1. 通过将数组转换成List,然后使用List中的contains进行判断其是否存在 public static boolean useList(String[] arr,String containValue){ return Arrays.asList(arr).contains(containValue); } 需要注意的是Arrays.asList这个方法中转换的List并不是java.util.ArrayList而是java.util.Arrays.ArrayList,其中java.

  • Java中遍历Map集合的5种方式总结

    方式一 通过Map.keySet使用iterator遍历 @Test public void testHashMap1() { Map<Integer, String> map = new HashMap<>(); map.put(001, "Java"); map.put(002, "数据库"); map.put(003, "Vue"); System.out.println(map); // 通过Map.keySet使

  • 如何在Java中创建线程通信的四种方式你知道吗

    目录 1.1 创建线程 1.1.1 创建线程的四种方式 1.1.2 Thread类与Runnable接口的比较 1.1.3 Callable.Future与FutureTask 1.2 线程组和线程优先级 1.3 Java线程的状态及主要转化方法 1.4 Java线程间的通信 1.4.1 等待/通知机制 1.4.2 信号量 1.4.3 管道 总结 1.1 创建线程 1.1.1 创建线程的四种方式 [1]继承Thread类 [2]实现Runnable接口 [3]实现Callable,获取返回值 [

  • Spring RedisTemplate 批量获取值的2种方式小结

    目录 Spring RedisTemplate 批量获取值 1.利用mGet 2.利用PipeLine Java对Redis的批量操作RedisTemplate 1.背景 2.操作 3.说明 Spring RedisTemplate 批量获取值 1.利用mGet List<String> keys = new ArrayList<>(); //初始keys List<YourObject> list = this.redisTemplate.opsForValue().

  • java中线程挂起的几种方式详解

    前言 在Java中使用线程的时候肯定会有线程挂起的这种情况出现,在Java中提供了3种方式:suspend/resume.wait/notify,notifyAll.park/unpark. 1.suspend/resume 这种方式已经在Java中被弃用,因为它容易引起死锁.在使用关键字synchronized的时候如 synchronized (this) { Thread.currentThread().suspend(); } 这个时候使用resume方法是无法唤醒线程的,还有一种情况是

  • springboot配置文件中使用${}注入值的两种方式小结

    目录 配置文件中使用${}注入值方式 在springboot中使用System.setProperty设置参数 配置文件自扫描 spring配置文件${}的用法 话不多说直接看就完事了 配置文件中使用${}注入值方式 在springboot中使用System.setProperty设置参数 user:   user-name: ${username}   age: ${age} 配置文件是这种写法,我们可以用System.setProperty来设置参数,System.setProperty相当

  • java中创建写入文件的6种方式详解与源码实例

    在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files.write(Java 7 推荐) PrintWriter File.createNewFile FileOutputStream.write(byte[] b) 管道流 实际上不只这5种,通过管道流的排列组合,其实有更多种,但是笔者总结的这五种可以说是最常用及最佳实践,前提小知识 以前我在写技术文章

  • 详解Spring获取配置的三种方式

    目录 前言 Spring中获取配置的三种方式 通过@Value动态获取单个配置 通过@ConfigurationProperties+前缀方式批量获取 通过Environment动态获取单个配置 总结 前言 最近在写框架时遇到需要根据特定配置(可能不存在)加载 bean 的需求,所以就学习了下 Spring 中如何获取配置的几种方式. Spring 中获取配置的三种方式 通过 @Value 方式动态获取单个配置 通过 @ConfigurationProperties + 前缀方式批量获取配置 通

  • java 中HashMap、HashSet、TreeMap、TreeSet判断元素相同的几种方法比较

    java 中HashMap.HashSet.TreeMap.TreeSet判断元素相同的几种方法比较 1.1     HashMap 先来看一下HashMap里面是怎么存放元素的.Map里面存放的每一个元素都是key-value这样的键值对,而且都是通过put方法进行添加的,而且相同的key在Map中只会有一个与之关联的value存在.put方法在Map中的定义如下. V put(K key, V value); 它用来存放key-value这样的一个键值对,返回值是key在Map中存放的旧va

随机推荐