Java中HashMap详解_极悦注册
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java中HashMap详解

Java中HashMap详解

更新时间:2022-09-05 10:52:38 来源:极悦 浏览878次

HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。

HashMap实现了Map接口,根据键值的HashCode存储数据,最多允许一条的访问速度,记录的键为null,不支持线程同步。

HashMap 是无序的,即不会记录的顺序。

HashMap继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。

HashMap 的 key 和 value 类型可以相同也可以不同,可以是字符串(String)类型的 key 和 value,也可以是整型(Integer)的 key 和字符串(String)的 value。

HashMap 中的元素实际上是对象,一些常见的基本类型可以使用它的包装类。

添加元素

HashMap 类提供了很多有用的方法,添加键值对(key-value)可以使用 put() 方法:

// 引入 HashMap 类      
import java.util.HashMap ;
public class RunoobTest {
    public static void main ( String [ ] args ) {
        // 创建 HashMap 对象 Sites
        HashMap < Integer , String > Sites = new HashMap < Integer , String > ( ) ;
        // 添加键值对
        站点。放(1,“谷歌” );
        网站。放(2,“Runoob” );
        网站。put ( 3 , “淘宝” ) ;
        网站。放(4、《知乎》);
        系统。出来。println (网站) ;
    }
}

执行以上代码,输出结果如下:

{1=谷歌, 2=Runoob, 3=淘宝, 4=知乎}1 =谷歌2 = Runoob 3 =淘宝4 =知乎}   

实例创建一个字符串(String)类型的键和字符串(String)类型的值:

// 引入 HashMap 类      
import java.util.HashMap ;
public class RunoobTest {
    public static void main ( String [ ] args ) {
        // 创建 HashMap 对象 Sites
        HashMap < String , String > Sites = new HashMap < String , String > ( ) ;
        // 添加键值对
        站点。放(“一个”,“谷歌” );
        网站。放(“两个”,“Runoob” );
        网站。put ( “三”、“淘宝” ) ;
        网站。放(“四”、“知乎” );
        系统。出来。println (网站) ;
    }
}

执行以上代码,输出结果如下:

{四=知乎,一=谷歌,二=Runoob,三=淘宝}四=知乎,一=谷歌,二= Runoob ,三=淘宝}

元素访问

我们可以使用 get(key) 方法来获取 key 的值:

// 引入 HashMap 类      
import java.util.HashMap ;
public class RunoobTest {
    public static void main ( String [ ] args ) {
        // 创建 HashMap 对象 Sites
        HashMap < Integer , String > Sites = new HashMap < Integer , String > ( ) ;
        // 添加键值对
        站点。放(1,“谷歌” );
        网站。放(2,“Runoob” );
        网站。put ( 3 , “淘宝” ) ;
        网站。放(4、《知乎》);
        系统。出来。println (站点。获取(3 ));
    }
}

执行以上代码,输出结果如下:

淘宝

删除元素

我们可以使用 remove(key) 方法来删​​除 key 的键值对(key-value):

// 引入 HashMap 类      
import java.util.HashMap ;

public class RunoobTest {
    public static void main ( String [ ] args ) {
        // 创建 HashMap 对象 Sites
        HashMap < Integer , String > Sites = new HashMap < Integer , String > ( ) ;
        // 添加键值对
        站点。放(1,“谷歌” );
        网站。放(2,“Runoob” );
        网站。put ( 3 , “淘宝” ) ;
        网站。放(4、《知乎》);
        网站。删除(4 );
        系统。出来。println (网站) ;
    }
}

执行以上代码,输出结果如下:

{1=谷歌, 2=Runoob, 3=淘宝}1 =谷歌, 2 = Runoob , 3 =淘宝}  

删除所有键值对(key-value)可以使用清除方法:

// 引入 HashMap 类      
import java.util.HashMap ;

public class RunoobTest {
    public static void main ( String [ ] args ) {
        // 创建 HashMap 对象 Sites
        HashMap < Integer , String > Sites = new HashMap < Integer , String > ( ) ;
        // 添加键值对
        站点。放(1,“谷歌” );
        网站。放(2,“Runoob” );
        网站。put ( 3 , “淘宝” ) ;
        网站。放(4、《知乎》);
        网站。清除( ) ;
        系统。出来。println (网站) ;
    }
}

执行以上代码,输出结果如下:

{}

计算大小

如果计算 HashMap 中的元素数量可以使用 size() 方法:

// 引入 HashMap 类      
import java.util.HashMap ;
public class RunoobTest {
    public static void main ( String [ ] args ) {
        // 创建 HashMap 对象 Sites
        HashMap < Integer , String > Sites = new HashMap < Integer , String > ( ) ;
        // 添加键值对
        站点。放(1,“谷歌” );
        网站。放(2,“Runoob” );
        网站。put ( 3 , “淘宝” ) ;
        网站。放(4、《知乎》);
        系统。出来。println (站点。大小( ) ) ;
    }
}

执行以上代码,输出结果如下:

4

访问HashMap

使用 for-each 可以重复 HashMap 中的元素。

如果你只需要获取key,就可以使用keySet()方法,然后可以通过get(key)获取的值,如果你获取某个值,可以使用()方法。

// 引入 HashMap 类      
import java.util.HashMap ;
public class RunoobTest {
    public static void main ( String [ ] args ) {
        // 创建 HashMap 对象 Sites
        HashMap < Integer , String > Sites = new HashMap < Integer , String > ( ) ;
        // 添加键值对
        站点。放(1,“谷歌” );
        网站。放(2,“Runoob” );
        网站。put ( 3 , “淘宝” ) ;
        网站。放(4、《知乎》);
        // 输出 key 和value
        for ( Integer i : Sites.keySet ( ) ) { System . 出来。println ( "key: " + i + " value: " + Sites.get ( i )
            ) ;
        }
        // 返回所有 value 值
        for ( String value : Sites.values ( ) ) { // 输出每个值System . 出来。打印(值+ “,” );} } }

执行以上代码,输出结果如下:

键:1 值:谷歌
键:2 值:Runoob
键:3 值:淘宝
键:4 值:知乎
谷歌、Runoob、淘宝、知乎、

以上就是关于“Java中HashMap详解”的介绍,如果大家想了解更多相关知识,不妨来关注一下极悦的HashMap底层实现原理视频教程,里面的课程内容细致全面,通俗易懂,适合没有基础的小伙伴学习,希望对大家能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>