当前位置: 首页 > news >正文

杭州手机网站建设公司有效获客的六大渠道

杭州手机网站建设公司,有效获客的六大渠道,wordpress 网店 主题,c 网站开发MapMap接口键 值 对存储键不能重复&#xff0c;值可以重复Map三个实现类的存储结构HashMap&#xff1a;Hash表链表红黑树结构 线程不安全TreeMap&#xff1a; 底层红黑树实现HashTable&#xff1a;hash表链表红黑树 线程安全HashMapHashMap常用方法HashMap<String,String>…

Map


Map接口

键 值 对存储

键不能重复,值可以重复

Map三个实现类的存储结构

HashMap:Hash表+链表+红黑树结构 线程不安全

TreeMap: 底层红黑树实现

HashTable:hash表+链表+红黑树 线程安全

HashMap

HashMap常用方法

 HashMap<String,String>map=newHashMap<>();
map.put("s","a");//添加元素,是无序的,键可以重复,值不可以重复
map.remove("s");//根据键可删除整个对
map.get("s");//根据键来找值,返回的是value
map.containskey("s");//判断集合中是否有这个键
map.containsvalue("a");//判断集合中是否有这个值
Set<String>kset=map.keyset();//单独将集合中的key这一列元素拿出来,返回的是一个set集合
List<String>list=map.Values();//将集合中value这一列元素拿出来,返回的是一个list集合

put方法添加元素整个过程,以及底层存储结构(重要)

底层结构:哈希表(数组)+链表+红黑树

数组主要用来定位元素位置,hash值取余数组长度等于位置索引,但有可能不同元素哈希值不同,但算出位置一样,此时使用链表来存储位置相同元素,当链表长度等于8时,将链表自动转换为红黑树,当红黑树长度删减为6时,又转回链表。

数组的扩容机制:hash表开始默认长度是16,当元素占数组长度为0.75时(这个倍数保证效率和空间不被浪费,用一定的空间换取效率),会对数组进行扩容操作,扩容为原来的2倍。

完整过程(也是源码的完整过程)

当我们向hashMap集合中添加元素时,判断重复后(与hashSet去重方法一致,因为其底层也是用hashmap存储的),根据key值调用hash方法(并不是hashcode方法,它是hashMap类中的一个方法)计算出此key在数组中的位置,如果这个位置没有元素,则直接添加,若已经有了元素,此时会有三种情况,一是此位置存储的这个元素与新加的元素键相同,但值不相同,我们选择替换值;二是此位置的元素为链表结构,我们添加在链表尾,还需要注意是否化为红黑树;三是此位置的元素已经转为红黑树,底层以树的方式添加(注:二三种情况也会有一出现,具体也是要替换值,在底层都有实现)。

put方法源码:

源码中的一些常量

TreeMap

底层是红黑树实现

key所在类必须实现comparable接口,可以按照值自然顺序排序(也可指定)

也是键值两列,其余与TreeSet类似

HashTable

是线程安全的,其中不能存储key为null的对象(具体可看源码,且HashMap可以但只能存储一个键为null的元素)

底层也是hash结构+链表+红黑树,但他是线程安全的,在并发量较低的情况下。

Map的遍历/Map集合迭代

  1. 使用增强for

Set<String>keyset=map.keySet();//先拿到键这一列
for(Stringkey: keyset){
System.out.println(key+map.get(key));//通过键找值
}

2.建议的遍历方式,使用entrySet

map底层为了方便遍历,将每个键值对都放入一个Entry对象中,并将多个Entry对象放到一个set集合中

Set<Entry<String,String>>entryset=map.entry();
//拿到entry集合后,我们遍历entryset这个集合就可以遍历map

http://www.mnyf.cn/news/33142.html

相关文章:

  • 如何建微信微商城网站百度公司招聘官网
  • 成都品牌logo设计公司南宁百度推广seo
  • 现在外贸做那个网站好什么是seo教程
  • 天津做宠物饲料的网站北京seo推广优化
  • 公众号的微网站怎么做如何优化网页
  • 网站开发设计合同范本郑州seo外包服务
  • 展览设计网站推荐网站推广计划书范文500字
  • 成都appseo推广绩效考核指标是什么
  • 临沂网站建设联系方式网络推广合作协议范本
  • 顺德微网站建设电脑培训网上培训班
  • 网站开发工作广东云浮疫情最新情况
  • 网站开发流程详细步骤东莞最新疫情
  • 承接做网站的网站网络营销课程培训课程
  • 焦作做网站公司做销售有什么技巧和方法
  • 佛山用户网站建设seo工具优化软件
  • 玉环网站制作seo网络优化招聘
  • 网站制作 呼和浩特网页搜索关键词
  • 什么是网站推广企业推广软文
  • 做实体店优惠券的网站西安seo服务公司
  • 专门做各种产品测评的网站网络营销文案策划都有哪些
  • 仿网站制作教学视频站长工具怎么用
  • 源码资源网宁波seo推广外包公司
  • 厦门网站建设公司推荐产品市场推广方案范文
  • 浙江专业做网站营销渠道的概念
  • 网站备案都需要什么搜索引擎seo关键词优化效果
  • 商城开发方案淘宝网站的推广与优化
  • 08服务器做网站aso优化师
  • 网站建设费用预算表、百度风云榜各年度小说排行榜
  • i18n wordpress百度seo优化多少钱
  • 猛烈做瞹瞹视频澳洲网站怎么让关键词快速上首页