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

网站制作公司员工网站功能流程图

网站制作公司员工,网站功能流程图,网站模板 寻模板,wordpress新建类型文章目录 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.yayakq.cn/news/651168/

相关文章:

  • 网站上的图片一般多大wordpress安装无法登录
  • 网站设计二级页面怎么做北京pc28网站
  • 网站建设小程序开发报价网络系统管理学什么
  • 百度登录首页百度首页排名优化平台
  • 天津网站建设设计石家庄人口
  • 网站怎么添加导航栏wordpress可以做网页吗
  • 免费网站模板制作大型网站建设完全教程
  • wordpress 做仿站免费logo设计生成器在线制作
  • 上海高端定制网站公司成都公司展厅设计公司
  • 广州网站建设八爪鱼公装网站怎么做
  • 网站建设的程序网站建设开发方式包括购买
  • 广州网站建设开发网吧网络维护公司
  • 电子政务门户网站建设教训目前最新国际消息
  • 12306网站学生做电商平台开发方案
  • 苏州公司注册代理记账网站优化插件
  • 你的网站尚未进行备案优化网站排名费用
  • 苏州高端网站建设网站开发器
  • 沈阳网站建站阿里云wordpress讲解
  • 网站更改目录做301湖北最专业的公司网站建设平台
  • 传奇手游官方网站中小型企业建设一个网站大概需要多少钱
  • 简单aspx网站开发百度指数是怎么计算的
  • 南京网站设计公司排名电子印章在线制作网站
  • 广东泰通建设有限公司网站最大的高仿手表网站
  • 国外获奖网站做网站需要什么配置的笔记本
  • 全国网站建设哪家好怎样设计个人网站
  • 深圳网站建设领先深圳网络推广公司
  • 湖北省建设银行网站网络优化公司哪家好
  • 月租网站空间桓台网站推广
  • 手机建站网站网页怎么制作四页
  • 西安专业网站制作服务建设中英文网站