❤️💕💕java的学习指南,从入门到大师篇章。Myblog:http://nsddd.top
[TOC]
在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
使用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
对于 char
、Double
对于 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));
}
}
}