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

图书馆网站建设的建议东城网站制作公司

图书馆网站建设的建议,东城网站制作公司,公司网页制作需要哪些内容,网站建设网络Map和Set Map和Set是专门用来进行搜索的数据结构#xff0c;适合动态查找 模型 搜索的数据称为关键字(key)#xff0c;关键字对应的叫值(value)#xff0c;key-value键值对 key模型key-value模型 Map存储的就是key-value模型#xff0c;Set只存储了key Map Map是接口类…Map和Set Map和Set是专门用来进行搜索的数据结构适合动态查找 模型 搜索的数据称为关键字(key)关键字对应的叫值(value)key-value键值对 key模型key-value模型 Map存储的就是key-value模型Set只存储了key Map Map是接口类key是唯一的不能重复 package Map; import java.util.Map; import java.util.TreeMap;/*** Created by Y_manyou927* Description:TreeMap实例* User: yyt* Date: 2023-03-10* Time: 14:57*/ public class TestMap {public static void main(String[] args) {MapString,String m new TreeMap();// 1.使用put函数添加元素,无序的m.put(孙悟空,齐天大圣);m.put(猪八戒,天蓬元帅);m.put(沙和尚,卷帘大将);System.out.println(m.size());System.out.println(m); // m.put(唐僧,金蝉子);String str m.put(唐僧,金蝉子);// 2.如果key存在可以使用value替换原来的valuekey的值不能换除非删除keym.put(唐僧,师傅);System.out.println(m);// get(key)返回value// 3.如果key存在返回value如果不存在返回nullSystem.out.println(m.get(孙悟空));System.out.println(m.get(白龙马));System.out.println(getOrDefault);// 4.getOrDefault返回value如果key不存在返回一个默认值System.out.println(m.getOrDefault(孙悟空,齐天大圣));System.out.println(m.getOrDefault(筋斗云,十万八千里));System.out.println(containsKey与containsValue);// 5.containsKey(key)检查key是否包含时间复杂度O(logN)// 使用红黑树的性质进行查找存在true否则falseSystem.out.println(m.containsKey(孙悟空)); //trueSystem.out.println(m.containsKey(二郎神)); //false// containsValue(value)检查value是否包含时间复杂度0(N)// 6.进行整体遍历存在true否则falseSystem.out.println(m.containsValue(齐天大圣)); //trueSystem.out.println(m.containsValue(斗战胜佛)); //falseSystem.out.println();// 7.遍历key值与value值for (String s: m.keySet()) {System.out.print(s );}System.out.println();for (String s: m.values()) {System.out.print(s );}System.out.println();System.out.println();// 8.打印所有的键值对// entrySet(): 将Map中的键值对放在Set中返回for (Map.EntryString,String entry : m.entrySet()) {System.out.println(entry.getKey()---entry.getValue());}} } 注意 Map是一个接口不能直接实例化对象只能实例化其实现类TreeMap和HashMap Map中存放键值对的Key是唯一的Value可以重复 Map插入的键值对Key不能为空否则会抛出 NullPointerException 异常Value可以为空 Map中的Key可以全部提取出来存储到Set中进行访问Key不能重复 Map中的Value可以全部提取出来存储到Collection中的任何一个子集合中 Map中键值对的Key不能直接修改Value可以修改修改Key只能删除Key然后重新插入 TreeMap与HashMap区别 Set Set与Map的区别Set是继承Collection的接口类Set只存储key package Set;import java.util.Set; import java.util.TreeSet;/*** Created by Y_manyou927* Description:TreeSet实例* User: yyt* Date: 2023-03-10* Time: 15:37*/ public class TestSet {public static void main(String[] args) {SetString s new TreeSet();// 1.add(key) 不存在插入存在不插入// 返回true 与 falses.add(孙悟空);s.add(猪八戒);s.add(沙和尚);System.out.println(s);boolean b s.add(孙悟空);System.out.println(b); //falseSystem.out.println();// 2.contains(key)判断key是否存在System.out.println(s.contains(孙悟空)); //trueSystem.out.println(s.contains(唐僧)); //false// 3.remove移除存在的元素s.remove(孙悟空);System.out.println(s);System.out.println(s.size());} } 注意 Set是继承自Collection的接口类Set只存储到key并且key要唯一Set底层是使用Map来实现的其使用key与Object的一个默认对象作为键值对插入到Map中的Set最大功能就是对集合的元素进行去重LinedHashSet是在HashSet的基础上维护了一个双向链表来记录元素的插入次序Set的key不能修改要修改必须先删除然后重新插入TreeSet与HashSet区别 哈希表 哈希表散列表通过哈希函数使元素的存储位置与它的关键码建立一一映射的关系 插入元素根据元素的关键码计算元素的存储位置并进行存放搜索元素对元素的关键码进行同样的计算所得函数值作为元素的存储位置 哈希方法散列方法使用的转换函数称为哈希函数构造出来的结构称为哈希表HashTable 哈希函数设置为hash(key) key % capacity capacity为存储元素底层空间大小 哈希冲突 哈希冲突不同关键字通过哈希函数计算出相同的哈希地址 冲突-避免 关键字数量要大于哈希表底层数组的容量因此哈希冲突是必然会发生的。我们只能降低哈希冲突的发生或者解决哈希冲突发生产生的问题 1.哈希函数设计 哈希冲突发生的一个原因就可能是哈希函数设计的不合理 哈希函数的定义域必须包括需要存储的全部关键码而如果散列表允许有m个地址时其值域必须在0到m-1 之间哈希函数计算出来的地址能均匀分布在整个空间中哈希函数应该比较简单 2.常见哈希函数 直接定制法–(常用) 取关键字的某个线性函数为散列地址HashKey A*Key B 优点简单、均匀 缺点需要事先知道关 键字的分布情况 使用场景适合查找比较小且连续的情况除留余数法–(常用) 设散列表中允许的地址数为m取一个不大于m但最接近或者等于m的质数p作为除数按照哈希函数 Hash(key) key% p(pm),将关键码转换成哈希地址 3.冲突-避免-负载因子调节重点掌握 负载因子 A 表中的元素个数 / 散列表长度 当冲突率达到无法忍受的程度可以通过降低负载因子来变相降低冲突率。已知哈希表的关键字个数是不可改变的因此我们只能通过修改数组的长度来达到降低负载因子。 4.哈希冲突-解决 闭散列开放地址法当发生哈希冲突的时候将key存放到冲突的下一个位置 1.线性探测 从发生冲突的位置开始依次往后进行探测直到寻找到下一个空位置为止 不能直接删除元素 2.二次探测 线性探测的缺陷就是产生冲突的数据全部堆积在一起当然这与其找下一个空位置有关 二次探测就是为了避免这种问题 闭散列最大的问题就是空间利用率比较低这也是哈希的缺陷 哈希冲突-解决-开散列/哈希桶 开散列法又称为链地址法将大集合中的搜索问题转化到小集合中进行搜索 JDK1.8开始使用尾插法 当数组的长度超过64且链表的长度超过8此时链表会变成红黑树 冲突严重时的解决办法 每个桶背后是另一个哈希表每个桶背后是一颗搜索树
http://www.dnsts.com.cn/news/14836.html

相关文章:

  • 福州 网站设计手机app制作网站模板
  • 生产企业做网站有用吗关于港口码头发展建设的网站
  • dw建设的网站上传网络运维与安全
  • 物业公司网站建设有了域名如何建设网站
  • 网站表现形式信息化建设 公司网站
  • 设计网站页面好处优质专业建设申报网站
  • 包头教育云平台网站建设在线制作电子简历
  • 网站充值如何做post的成全视频免费观看在线看第6季高清
  • 南通市做网站wordpress更改主机名
  • 北京个人网站建设南昌网上服务
  • 企业网站买卖建设流程企业天眼查
  • 自己网站做虚拟币违法吗互联网保险的发展现状
  • 给银行做网站wordpress ajax插件
  • 郑州网站建设郑州网络推广忘记wordpress的账号和密码忘记
  • 丹东企业网站建设平台厦门做企业网站比较好的公司
  • 网站seo方案设计阿里云wordpress升级
  • 免费做一建或二建题目的网站wordpress 所有页面空白页
  • 网站建设开发费用怎样入账成都业之峰装饰公司怎么样
  • 怎么做科技小制作视频网站ui网站建设
  • wordpress怎么解密密码网站优化工作怎么样
  • 网站如何进行建设常州网油卷介绍
  • 长沙网站制作好公司网络公司业务范围
  • 网站建设与维护要用到代码吗网站未备案做经营被罚款
  • 网站制作怎么做框架网站安全监测预警平台建设成效
  • 投资网站网站源码西安的电子商城网站建设
  • 企业产品推广网站广告公司图片
  • 有站点地图的网站wordpress快速赚钱
  • 网站建设 讲话wordpress 更新过慢
  • 深圳网站设计灵点网络公司不错怎么优化网站排名具体怎么做
  • 珠海电子商务网站建设淘宝上开网店的流程