您当前的位置: 首页 > 

liaowenxiong

暂无认证

  • 1浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

HashMap的学习

liaowenxiong 发布时间:2022-06-02 09:43:07 ,浏览量:1

文章目录
  • HashMap
    • 特点
    • 原理示意图
    • 常用方法
    • 遍历元素
  • LinkedHashMap

HashMap 特点

1.世界上查询速度最快的数据结构 2.增删速度也很快 3.加载因子是集合存放的元素数量和散列数组长度的比值,建议加载因子 0.75,超过会自动扩容并且重新散列(旧的数据重新计算数组索引值) 4.散列数组初始的长度是 16 5.无序存放 6.底层使用数组+单向链表(JDK 1.7 之后的版本,散列桶的元素超过 8 个,会换成红黑树数据结构) 7.数组虽然有索引值,但是存放的时候不是直接根据索引值的自然顺序存放,而是通过散列算法计算出元素的数组索引值后再根据索引值来存放,查询元素也一样。所以不能根据索引值直接存放和查询元素。也没有与索引值相关的方法。 8.数组+链表(或者红黑树)的整体数据结构也叫散列表或哈希表 9.key不允许重复,可以保存一个null;value可以重复,且可以保存多个null

原理示意图

在这里插入图片描述

常用方法

public void clear(),从此映射中移除所有映射关系(可选操作)。 public boolean containsKey(Object key),如果此映射包含指定键的映射关系,则返回 truepublic boolean containsValue(Object value),如果此映射将一个或多个键映射到指定值,则返回 truepublic Set entrySet(),返回此映射中包含的映射关系的 Set 视图。 public boolean equals(Object o),比较指定的对象与此映射是否相等。 public V get(Object key),返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 nullpublic int hashCode(),返回此映射的哈希码值。 public boolean isEmpty(),如果此映射未包含键-值映射关系,则返回 truepublic Set keySet(),返回此映射中包含的键的 Set 视图。 public V put​(K key,V value),将指定的值与此映射中的指定键相关联,如果 map 中没有指定的 key,返回空值,否则返回被覆盖的 valuepublic void putAll(Map

关注
打赏
1661566967
查看更多评论
0.1449s