Skip to content

Latest commit

 

History

History
202 lines (139 loc) · 5.22 KB

File metadata and controls

202 lines (139 loc) · 5.22 KB

第12节 Java HashMap

❤️💕💕java的学习指南,从入门到大师篇章。Myblog:http://nsddd.top


[TOC]

Java HashMap

ArrayList本章中,您了解了数组将项目存储为有序集合,并且您必须使用索引号(int类型)来访问它们。但是, AHashMap将项目存储在“/”对中,您可以通过另一种类型的索引(例如 a String)访问它们。

一个对象用作另一个对象(值)的键(索引)。它可以存储不同的类型:String键和Integer值,也可以存储相同的类型,例如:String键和String值:

创建一个HashMap名为capitalCities的对象,它将存储String String

import java.util.HashMap; // import the HashMap class
HashMap<String, String> capitalCities = new HashMap<String, String>();

添加项目

该类HashMap有许多有用的方法。例如,要向其中添加项目,请使用以下put()方法:

// Import the HashMap class
import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    // Create a HashMap object called capitalCities
    HashMap<String, String> capitalCities = new HashMap<String, String>();

    // Add keys and values (Country, City)
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("USA", "Washington DC");
    System.out.println(capitalCities);
  }
}

我们需要知道<String, String>是代表着<key,value>,下面案例

/*
 * @Description: HashMap
 * @Author: xiongxinwei 3293172751nss@gmail.com
 * @Date: 2022-09-08 19:19:12
 * @LastEditTime: 2022-09-11 14:26:20
 * @FilePath: \code\project1\src\Main.java
 * @blog: https://nsddd.top
 */
import java.util.HashMap;

import javax.xml.catalog.CatalogManager;

public class Main {
    public static void main(String[] args) {
        HashMap<Integer,String> capMap = new HashMap<Integer,String>();
        System.out.println("Hello world!");
        capMap.put(1, "asfd");
        capMap.put(2, "asfd");
        capMap.put(3, "asfd");
        capMap.put(4, "asfd");
        capMap.put(5, "asfd");
        capMap.put(6, "asfd");
        System.out.println(capMap);   
    }
}

访问项目

要访问 中的值HashMap,请使用该get()方法并引用其键:

capitalCities.get("England");

移除项目

要删除项目,请使用该remove()方法并参考密钥:

capitalCities.remove("England");

要删除所有项目,请使用以下clear()方法:

capitalCities.clear();

哈希图大小

要找出有多少项目,请使用以下size()方法:

capitalCities.size();

循环遍历 HashMap

HashMap使用for-each循环遍历 a的项目。

注意:keySet()如果您只需要键,请使用该方法values(),如果您只需要值,请使用该方法:

// Print keys
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}
// Print values
for (String i : capitalCities.values()) {
  System.out.println(i);
}
// Print keys and values
for (String i : capitalCities.keySet()) {
  System.out.println("key: " + i + " value: " + capitalCities.get(i));
}

其他类型

HashMap 中的键和值实际上是对象。在上面的示例中,我们使用了“String”类型的对象。请记住,Java 中的 String 是一个对象(不是原始类型)。要使用其他类型,例如 int,您必须指定等效的包装类Integer。很多时候都是等价的,你可以使用Integer i = 10对于其他原始类型,请使用:Boolean对于布尔值、Character对于 charDouble对于 double 等:

  • Integer:int
  • Double:double
  • float:Float

创建一个HashMap名为 people的对象,它将存储String Integer

/*
 * @Description: HashMap
 * @Author: xiongxinwei 3293172751nss@gmail.com
 * @Date: 2022-09-08 19:19:12
 * @LastEditTime: 2022-09-11 14:41:04
 * @FilePath: \code\project1\src\Main.java
 * @blog: https://nsddd.top
 */
// Import the HashMap class
import java.util.HashMap;

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

    // Create a HashMap object called people
    HashMap<String, Integer> people = new HashMap<String, Integer>();


    // Add keys and values (Name, Age)
    people.put("John", 32);
    people.put("Steve", 30);
    people.put("Angie", 33);

    for (String i : people.keySet()) {
      System.out.println("key: " + i + " value: " + people.get(i));
    }
  }
}

END 链接