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

b2b模式的网站免费制作自己的网页

b2b模式的网站,免费制作自己的网页,九脉堂是做网站的,西宁网站seo外包文章目录 1、HashMap2、Hashtable3、TreeMap4、HashMap 底层结构4.1、什么是红黑树? 1、HashMap HashMap key 是不能重复的,value 可以重复 底层结构 key-value 进行存储,key-value 存入到 Set 中,再将 Set 装载到 HashMap pack…

文章目录

  • 1、HashMap
  • 2、Hashtable
  • 3、TreeMap
  • 4、HashMap 底层结构
    • 4.1、什么是红黑树?

1、HashMap

HashMap key 是不能重复的,value 可以重复

底层结构 key-value 进行存储,key-value 存入到 Set 中,再将 Set 装载到 HashMap

在这里插入图片描述

package com.southwind;import java.util.*;public class HashMapTest {public static void main(String[] args) {HashMap hashMap = new HashMap();hashMap.put("h", "Hello");hashMap.put("w", "World");hashMap.put("j", "Java");System.out.println(hashMap);System.out.println("***********************************");//map有3种遍历方式//1、获取Set(包含kv)Set set = hashMap.entrySet();Iterator<Map.Entry> iterator = set.iterator();while (iterator.hasNext()) {Map.Entry next = iterator.next();System.out.println(next.getKey()+"------------"+next.getValue());}System.out.println("****************************************");//2、获取key所在的set集合Set keySet = hashMap.keySet();Iterator iterator1 = keySet.iterator();while (iterator1.hasNext()) {System.out.println(iterator1.next());}System.out.println("****************************************");//3、获取value所在的Collection集合Collection values = hashMap.values();Iterator iterator2 = values.iterator();while (iterator2.hasNext()) {System.out.println(iterator2.next());}}
}

2、Hashtable

用法和 HashMap 一致,区别在于 Hashtable 是较早推出的一个类,是线程安全的,效率低。

在这里插入图片描述

HashMap 是线程不安全的,效率高。

在这里插入图片描述

3、TreeMap

TreeMap 中存储有序的元素,存入的元素会自动进行排序,按照 key 值进行升序排列。

package com.southwind;import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;public class TreeMapTest {public static void main(String[] args) {TreeMap treeMap = new TreeMap();treeMap.put(3, "Java");treeMap.put(5, "JavaME");treeMap.put(1,"Hello");treeMap.put(6, "JavaEE");treeMap.put(2, "World");treeMap.put(4, "JavaSE");Set keySet = treeMap.keySet();Iterator iterator = keySet.iterator();while (iterator.hasNext()) {Object next = iterator.next();System.out.println(next + "---" + treeMap.get(next));}}
}
package com.southwind;import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;public class TreeMapTest {public static void main(String[] args) {TreeMap treeMap = new TreeMap();treeMap.put(new C(1), "Java");treeMap.put(new C(2), "JavaME");treeMap.put(new C(3),"Hello");treeMap.put(new C(4), "JavaEE");treeMap.put(new C(5), "World");treeMap.put(new C(6), "Big");treeMap.put(new C(7), "JavaSE");Set keySet = treeMap.keySet();Iterator iterator = keySet.iterator();while (iterator.hasNext()) {Object next = iterator.next();System.out.println(next + "---" + treeMap.get(next));}}
}class C implements Comparable{private int num;public C(int num) {this.num = num;}/*** A.compareTo(B)* 1 A>B* 0 A=B* -1 A<B* @param o* @return*/@Overridepublic int compareTo(Object o) {C c = (C) o;if(this.num > c.num) return -1;if(this.num == c.num) return 0;if(this.num < c.num) return 1;return 0;}@Overridepublic String toString() {return "C{" +"num=" + num +'}';}
}

4、HashMap 底层结构

HashMap 底层其实是一个数组,成为哈希桶,JDK 1.7 和 JDK 1.8 底层结构是不同的。

JDK 1.7:数组+链表

JDK 1.8:数组+链表+红黑树

在这里插入图片描述

4.1、什么是红黑树?

红黑树是一个平衡二叉树

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

在这里插入图片描述

在这里插入图片描述

红黑树

1、结点是红色或者黑色

2、根节点是黑色的

3、每个叶子节点都是空节点

4、每个红色节点的两个子节点都是黑色的

5、从任一节点到它的每个叶子节点的所有路径都包含相同数目的黑色节点

哈希冲突:key 所映射的 hash 一样

HashMap 源码

从构造器入手来看

在这里插入图片描述

并没有创建数组,而是给加载因子赋值 = 0.75,加载因子是用来完成数组扩容的。

只有在添加数据的时候才会创建数组,HashMap 是懒加载的形式。

在这里插入图片描述

在这里插入图片描述

DEFAULT_INITIAL_CAPACITY 就是数组的初始化长度,16,哈希桶默认的长度为 16

数组长度为 16,存入多少个元素的时候,需要进行数组扩容呢?

16 * 0.75 = 12,每次扩容是给数组长度乘以 2,16 --> 32

http://www.dinnco.com/news/80309.html

相关文章:

  • WordPress全面优化网站更换服务器对seo的影响
  • html网站支付链接怎么做厦门百度竞价开户
  • 网站建设年终总结怎么写优网营销
  • 做项目网站要不要备案池州网络推广
  • 国际贸易新闻最新消息济南网络seo公司
  • 巫山网站制作长沙企业关键词优化哪家好
  • 老网站301跳转新网站郑州网站推广优化
  • 章丘做网站公司sem推广是什么意思呢
  • 企业建站原因营销软文100字
  • gif表情包制作网站深圳门户网站
  • 国内做的好的帽子网站外贸网站建设
  • 接做网站的私活怎么报价网络服务商主要包括
  • 坪山附近公司做网站建设哪家效益快在线培训课程
  • 广安公司网站建设seo顾问张智伟
  • 广告公司管理系统软件windows优化大师的优点
  • 网站开发难易处秦皇岛seo排名
  • 电商网站 模板友情链接系统
  • django网站开发实例源码西安做推广优化的公司
  • 怎样在百度免费做网站站长之家seo工具包
  • 网站做优化的操作图片营销型网站的分类不包含
  • 清理空壳网站买链接网
  • 外贸网站源码怎么建汽油价格最新调整最新消息
  • 网站登录接口怎么做百度推广后台登录入口
  • 可以做fiting网站品牌营销策划公司
  • 网页源码怎么做网站seo站内优化包括
  • 最新新闻热点事件2021年7月一个具体网站的seo优化
  • php网站上传漏洞seo是什么技术
  • 什么是企业营销型网站网络推广和网站推广平台
  • 自学设计的网站企业网络推广的方法
  • wordpress new page北京谷歌seo公司