简单的asp网站国际学院网站建设的意义

web/2025/9/29 9:29:38/文章来源:
简单的asp网站,国际学院网站建设的意义,那个网站可以免费建站,网站后台管理系统需求LinkedHashMap 集合源码分析 文章目录 LinkedHashMap 集合源码分析一、字段分析二、内部类分析三、构造方法分析四、内部方法分析五、总结 LinkedHashMap 是 HashMap 的子类#xff0c;在 HashMap 的基础上维护了双向链表#xff0c;保证了有序性。默认是不排序的#xff0c…LinkedHashMap 集合源码分析 文章目录 LinkedHashMap 集合源码分析一、字段分析二、内部类分析三、构造方法分析四、内部方法分析五、总结 LinkedHashMap 是 HashMap 的子类在 HashMap 的基础上维护了双向链表保证了有序性。默认是不排序的可在初始化时传入 accessOrder true则进行排序 一、字段分析 // 指向LinkedHashMap 维护的双向链表的头结点 transient LinkedHashMap.EntryK,V head; // 指向LinkedHashMap 维护的双向链表的尾结点 transient LinkedHashMap.EntryK,V tail; // 是否排序默认false不排序。设为true时越近访问的节点越靠近尾结点即头结点 - 尾结点 // 按 最近访问时间降序排列即越靠近尾结点离上次访问时间越近。 final boolean accessOrder;二、内部类分析 //可以看到是继承了 hashmap 的 node再次基础上多了 before 和 after就是用来维护双向链表的 static class EntryK,V extends HashMap.NodeK,V {EntryK,V before, after;Entry(int hash, K key, V value, NodeK,V next) {super(hash, key, value, next);}}三、构造方法分析 //传入默认的初始容量 和 加载因子默认不排序public LinkedHashMap(int initialCapacity, float loadFactor) {super(initialCapacity, loadFactor);accessOrder false;}//闯入默认的初始容量默认不排序public LinkedHashMap(int initialCapacity) {super(initialCapacity);accessOrder false;}//无参构造默认不排序public LinkedHashMap() {super();accessOrder false;}//传入集合m来使用集合m的所有元素来构建 LinkedHashMap默认不排序public LinkedHashMap(Map? extends K, ? extends V m) {super();accessOrder false;putMapEntries(m, false);}//传入初始容量加载因子也可指定进行排序即truepublic LinkedHashMap(int initialCapacity,float loadFactor,boolean accessOrder) {super(initialCapacity, loadFactor);this.accessOrder accessOrder;}四、内部方法分析 LinkedHashMap 的添加元素、删除元素扩容等方法都是直接使用 了 HashMap 的方法。但在 HashMap 的基础上做了扩展体现了多态性。主要是三种方法 afterNodeRemoval将被删除的节点从 LinkedHashMap 维护的双向链表中移除。afterNodeInsertion用来判断是否删除 LinkedHashMap 维护的双向链表的头结点即最久未被访问的节点。afterNodeAccess将传入的node节点放置末尾即最近访问的元素。 //将 e 节点从双向链表中删除void afterNodeRemoval(NodeK,V e) { // unlinkLinkedHashMap.EntryK,V p (LinkedHashMap.EntryK,V)e, b p.before, a p.after;p.before p.after null;if (b null)head a;elseb.after a;if (a null)tail b;elsea.before b;}//evicttrue删除最久未被访问的元素即双向链表的头结点void afterNodeInsertion(boolean evict) { // possibly remove eldestLinkedHashMap.EntryK,V first;if (evict (first head) ! null removeEldestEntry(first)) {K key first.key;removeNode(hash(key), key, null, false, true);}}//节点e是刚刚访问的节点判断是否需将其移动至双向链表的尾结点void afterNodeAccess(NodeK,V e) { // move node to lastLinkedHashMap.EntryK,V last;if (accessOrder (last tail) ! e) {LinkedHashMap.EntryK,V p (LinkedHashMap.EntryK,V)e, b p.before, a p.after;p.after null;if (b null)head a;elseb.after a;if (a ! null)a.before b;elselast b;if (last null)head p;else {p.before last;last.after p;}tail p;modCount;}} 五、总结 我们知道 HashMap 并不能保证有序性而 LinkedHashMap 作为 HashMap 子类解决了排序的问题。在构造时通过传入afterNodeAccess true 来设置LinkedHashMap是有序的。通过维护双向来链表来保证有序性拥有变量 head 和 tail 分别指向双向链表的头结点和尾结点越靠近 尾结点越是最近访问的节点越是靠近头结点越是越久未被访问的节点。可用于实现 LRU 算法 使用 LinkedHashMap 实现 LRU class LRUCache extends LinkedHashMapInteger, Integer{private int capacity;public LRUCache(int capacity) {super(capacity, 0.75F, true);this.capacity capacity;}public int get(int key) {return super.getOrDefault(key, -1);}public void put(int key, int value) {super.put(key, value);}Overrideprotected boolean removeEldestEntry(Map.EntryInteger, Integer eldest) {return size() capacity; } }不适用 LinkedHashMap 实现 LRU class LRUCache {static class Node{public int key;public int val;public Node prev;public Node next;public Node(){this.key -1;this.val -1;}public Node(int key,int val){this.key key;this.val val;}}//最大容量 int capacity;//节点数量int size;//虚拟头节点Node dummyHead;//虚拟尾节点Node dummyTail;MapInteger,Node map new HashMap();public LRUCache(int capacity) {this.capacity capacity;this.size 0;dummyHead new Node();dummyTail new Node();dummyHead.next dummyTail;dummyTail.prev dummyHead;}public int get(int key) {if(!map.containsKey(key)){return -1;}Node node map.get(key);//将该节点从原位置删除remove(node);//将该节点添加到链表尾部addLeast(node);return node.val;}public void put(int key, int value) {Node cur new Node(key,value);remove(map.get(key));addLeast(cur);}//删除节点public void remove(Node node){if(node null) return;node.prev.next node.next;node.next.prev node.prev;node.next null;node.prev null;size --;map.remove(node.key);}//将节点添加到尾部public void addLeast(Node node){Node prev dummyTail.prev;prev.next node;node.prev prev;node.next dummyTail;dummyTail.prev node;size ;map.put(node.key,node);//超过最大容量了if(size capacity){removeFirst();}}//删除头节点public Node removeFirst(){if(dummyHead.next dummyTail) return null;Node remove dummyHead.next;remove(remove);return remove;} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83820.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

丹灶网站建设seo搜狗

目录 线程的声明 线程创建过程 向线程中投递消息 从消息队列中取消息的具体实现 处理线程消息 webrtc线程模块的实现逻辑在 rtc_base\thread.h 文件中 比如想创建一个线程&#xff1a; //声明要创建的线程指针&#xff0c;通过智能指针管理 std::unique_ptr<rtc::Thr…

合浦县城乡规划建设局网站网站怎样建设才叫人性化

前言 扁平化概念的核心意义 去除冗余、厚重和繁杂的装饰效果。而具体表现在去掉了多余的透视、纹理、渐变以及能做出3D效果的元素&#xff0c;这样可以让“信息”本身重新作为核心被凸显出来。同时在设计元素上&#xff0c;则强调了抽象、极简和符号化。 示例 视频效果&…

英语网站online店匠怎么做网页

经过实践&#xff0c;weblogic节点管理器的作用主要有两点&#xff1a; 1、可通过weblogic控制台远程控制被管server启停。 2、可以自动重启被管server的进程&#xff0c;并且对spring框架提供比直接启动更快的重启速度。 配置步骤&#xff1a; 在管理电脑上&#xff1a; …

导购网站怎么做有特色北京海淀房管局网站

gizp压缩是一种http请求优化方式&#xff0c;通过减少文件体积来提高加载速度。html、js、css文件甚至json数据都可以用它压缩&#xff0c;可以减小60%以上的体积。 webpack在打包时可以借助 compression webpack plugin 实现gzip压缩&#xff0c;首先需要安装该插件&#xff…

勒流网站制作端午节网站建设目的

l 在iOS中想实现一些简单的动画效果&#xff08;平移、缩放、旋转&#xff09;&#xff0c;特别简单 l 你只需要告诉iOS系统&#xff1a;哪些代码造成的改变需要使用动画效果就可以了 [UIView beginAnimations:nil context:nil]; ……需要执行动画效果的代码…… [UIView c…

游戏ui设计网站鞍山网站

Given a string and we have to split into array of characters in Python. 给定一个字符串&#xff0c;我们必须在Python中拆分为字符数组。 将字符串拆分为字符 (Splitting string to characters) 1) Split string using for loop 1)使用for循环分割字符串 Use for loop t…

html5导航网站源码wordpress发表的文章点不开

在主成分分析&#xff08;PCA&#xff09;原理总结中&#xff0c;我们对主成分分析(以下简称PCA)的原理做了总结&#xff0c;下面我们就总结下如何使用scikit-learn工具来进行PCA降维。 一、scikit-learn PCA类介绍 在scikit-learn中&#xff0c;与PCA相关的类都在sklearn.deco…

软件开发顺序wordpress媒体优化

在工作中遇到对接java接口&#xff0c;涉及到java加密或签名问题&#xff0c;.net无法实。就将java代码编辑为dll给.net调用 注&#xff1a;这里只做简单java代码处理&#xff0c;不涉及到复杂的java包 java文件处理&#xff1a; 第一步:简单java代码 package com.zht;//c#命名…

php 怎么做视频网站wordpress 付费注册

转载于:https://www.cnblogs.com/cmyg/p/7206474.html

网站建设:什么是网站开发与建设

1.题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后&#xff0c;短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s&#xff0c;如果它是 回文串 &#xff0c;返回 true &#xff1b;否…

优化网站用什么软件好做外贸没有企业网站

DFS 蓝桥杯中的DFS主要有针对分配过程的DFS和图/树的DFS两种类型&#xff0c;基本是模板题&#xff0c;难度中等 类型一&#xff1a;针对分配过程的DFS 例题 1&#xff1a;飞机降落 题目描述&#xff1a; N 架飞机准备降落到某个只有一条跑道的机场。其中第 i 架飞机在 T …

西安网站seo外包seo入门讲解

使用docker-compose优雅部署RocketMQ 随着市场的发展&#xff0c;越来越多的复杂场景出现在我们日常的开发工作中。随之也越来越多的好的工具&#xff0c;也同步出现在程序员的学习范围清单内。好的工具提高产品性能的同时&#xff0c;也带来了很多安装上的问题&#xff0c;do…

什么网站百度容易收录线上直播营销策划方案

随着区块链技术的迅速发展和数字资产市场的蓬勃发展&#xff0c;区块链交易所成为了数字资产交易的核心场所之一。在这个快速发展的领域中&#xff0c;区块链交易所App系统的开发和撮合交易系统的建设至关重要。本文将探讨区块链交易所App系统开发及撮合交易系统的重要性&#…

合肥有什么好的网站建设公司win7优化配置的方法

给定一个整数数组 nums &#xff0c;找到一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 思路&#xff1a;每个循环中&#xff0c;sum表示以nums[i]结尾的最大子序和&#xff0c;res表示目前得到的最大子序和。当循环结…

推广链接网站小程序开发定制公司北京

1. 数据库基础 1.1 什么是数据库 存储数据用文件就可以了&#xff0c;为什么还要弄个数据库? 文件保存数据有以下几个缺点&#xff1a; 文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便 数据库存储介质&#xff1a; 磁盘内存 为…

广州网站建设开发公司建设银行深圳天健世纪支行网站

BeetleX针对redis访问封了全async/await操作模式&#xff0c;通过它可以更高效地访问redis服务。BeetleX.Redis提供读写分离和多机故意写入处理&#xff0c;同时安全的TLS访问机制&#xff0c;在使用功能上组件支持绝大部分基础指令&#xff0c;并提供json&#xff0c;protobuf…

手机端网站源码抖音带运营的执行老大

在当今信息化快速发展的时代&#xff0c;手机已经成为我们生活中不可或缺的一部分。随着资料的积累&#xff0c;备份手机数据成了一个重要的问题。本文将介绍iMazing如何备份手机资料&#xff0c;并为大家解答“iPhone的资料可以传到iPad里吗”这一问题。这不仅可以帮助你有效管…

怎么制作网站链接用wordpress做企业门户

网络基础&#xff08;一&#xff09; 文章目录 一、计算机网络背景1.1网络发展1.2认识“协议” 二、网络协议初识2.1OSI七层模型2.2OSI五层模型 三、网络传输基本流程3.1局域网通信3.2网络传输流程不跨子网的网络传输跨子网的网络传输 3.3网络中的地址管理IP地址MAC地址 一、计…

木质家居 技术支持 东莞网站建设自适应式网站模板

RpcProvider&#xff08;服务提供者&#xff09;实现思路 上一节说到&#xff0c;如何将一个本地服务发布成远程服务&#xff0c;但没有说明一个rpc框架怎么进行调用的&#xff0c;看看上节代码 #include <iostream> #include <string> #include "user.pb.h…

网站建设海报图片国外品牌vi设计

引言 数字化转型是当今商业领域中的关键议题&#xff0c;它不仅是技术的应用&#xff0c;更是一种战略性的变革&#xff0c;对企业而言具有重要意义。在这个数字化时代&#xff0c;企业需要不断适应和采纳新技术&#xff0c;以获得竞争优势并提高效率。 数字化转型旨在将传统业…