Java 中的 hashmap 和 map 之间的区别
本教程介绍了 Java 中 Map
和 HashMap
之间的主要区别。
在 Java 中,Map
是用于以键值对存储数据的接口,而 HashMap
是 Map
接口的实现类。Java 有几个类(TreeHashMap
,LinkedHashMap
)实现了 Map
接口,以将数据存储到键值对中。让我们看一些例子。
Java 中的 Map
接口
不能单独使用 Map
接口来保存数据,但是我们可以创建其实现类的对象,然后使用 Map
引用来保存对象。在这里,我们使用 HashMap
类来存储数据,并使用 Map
接口来保存该类的引用。请参见下面的示例。
import java.util.HashMap;
import java.util.Map;
public class SimpleTesting {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
System.out.println(map);
}
}
输出:
{One=1, Two=2, Three=3}
Java 中的 HashMap
类
HashMap
是 Map
接口的一个实现类。因此,我们可以使用它来创建键值对的集合。请参见下面的示例。
import java.util.HashMap;
public class SimpleTesting {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
System.out.println(map);
}
}
输出:
{One=1, Two=2, Three=3}
在 Java 中使用 Map
引用来保存对象
由于 Map
是一个接口,我们可以使用它来保存其实现类的引用,例如 HashMap
,TreeMap
等。我们可以将 TreeMap
或 HashMap
对象保存在 Map
接口中。请参见下面的示例。
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
public class SimpleTesting {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
System.out.println(map);
Map<String, Integer> tmap = new TreeMap<>(map);
System.out.println(tmap);
}
}
输出:
{One=1, Two=2, Three=3}
{One=1, Three=3, Two=2}
在 Java 中使用 Map
引用保存对象
这是在与实现类一起使用时使用 Map
参考的重要示例。瞧,我们有一个方法以 Map
对象作为参数。因此,在调用时,我们可以传递任何类的对象,例如 HashMap
或 HashTable
。请参见下面的示例。
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;
public class SimpleTesting {
static void printMap(Map<String, Integer> map) {
for (String key : map.keySet()) {
System.out.println(key + ":" + map.get(key));
}
}
public static void main(String[] args) {
HashMap<String, Integer> hashmap = new HashMap<>();
hashmap.put("One", 1);
hashmap.put("Two", 2);
hashmap.put("Three", 3);
printMap(hashmap);
TreeMap<String, Integer> tmap = new TreeMap<>(hashmap);
printMap(tmap);
LinkedHashMap<String, Integer> lmap = new LinkedHashMap<>(hashmap);
printMap(lmap);
}
}
运行如下代码。
Java SimpleTesting 10 20
输出:
10
20
相关文章
在 Java 中获取用户主目录
发布时间:2023/12/17 浏览次数:199 分类:Java
-
这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。
Java 中 size 和 length 的区别
发布时间:2023/12/17 浏览次数:160 分类:Java
-
这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。
Java 中的互斥锁
发布时间:2023/12/17 浏览次数:96 分类:Java
-
了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,
Java 中的比较字符是否相等的方法
发布时间:2023/12/17 浏览次数:126 分类:Java
-
这篇文章是关于在 Java 中使用字符 equals 方法。在 Java 中,我们可以使用 equals(==) 运算符或 Character 类的 equals() 方法来比较两个字符。
在 Java 中使用单个命令编译多个 Java 文件
发布时间:2023/12/17 浏览次数:113 分类:Java
-
本文介绍如何在 Java 中使用单个命令编译多个 java 文件。本教程介绍如何在 Java 中使用单个命令编译多个 java 文件。
Java 中的箭头运算符 ->
发布时间:2023/12/17 浏览次数:77 分类:Java
-
这篇文章就是要了解 Java 中的箭头运算符。本教程介绍了箭头运算符 (->) 在 Java 中的作用,并列出了一些示例代码来理解该主题。
Java 中的 >> 运算符
发布时间:2023/12/17 浏览次数:187 分类:Java
-
本文你将了解 Java 中的 >> 运算符。本指南将介绍 Java 中的 >> 运算符。要理解这个概念,你需要熟悉一些较低级别的计算概念。例如,位、字节等等。让我们深入了解一下。
Java Not InstanceOf
发布时间:2023/12/17 浏览次数:156 分类:Java
-
本教程演示如何在 Java 中否定 instanceof 关键字。InstanceOf 关键字检查引用变量是否包含给定的对象引用类型。它返回布尔类型,所以我们也可以否定它们。
Java 中的类字段和实例字段
发布时间:2023/11/28 浏览次数:98 分类:Java
-
在本文中,你将学习一些 Java 术语,它们是局部变量、输入参数、类字段和实例字段。我们还将讨论 Java 中实例字段的一些属性。