做网站需要购买服务器吗wordpress 果酱小程序

news/2025/10/1 12:55:04/文章来源:
做网站需要购买服务器吗,wordpress 果酱小程序,网络营销专业好不好,南京建设银行公积金查询网站13 集合 实现方法时#xff0c;不同的数据结构会导致性能有很大差异。 13.1 集合接口 Java集合类库将接口#xff08;interface#xff09;与实现#xff08;implementation#xff09;分离。 可以使用接口类型存放集合的应用#xff0c;一旦改变了想法#xff0c;可…13 集合 实现方法时不同的数据结构会导致性能有很大差异。 13.1 集合接口 Java集合类库将接口interface与实现implementation分离。 可以使用接口类型存放集合的应用一旦改变了想法可以轻松额使用另外一种不同的实现。 ListInteger l new ArrayList(); 若想改为链表实现只需上句为ListInteger l new LinkedList(); 以Abstract开头的类如AbstractQueue是为类库实现者设计的。 如果想要实现自己的队列类会发现扩展AbstractQueue类要比实现Queue接口中的方法轻松的多。 集合类的基本接口是Collection接口 两个基本方法 public interface CollectionE {boolean add(E element);IteratorE iterator(); }iterator方法返回一个实现了Iterator接口的对象。 Iterator接口包含三个方法 public interface IteratorE {E next();boolean hasNext();void remove(); }Java迭代器被认为是在两个元素之间的。 当调用next时迭代器就越过下一个元素并返回刚刚越过的那个元素的引用。 remove方法将会删除上次调用next方法时返回的元素。 如果调用remove之前没有调用next将是不合法的。 由于Collection与Iterator都是泛型接口可以编写任何集合类型实用方法。 13.2 具体的集合 Map结尾的类实现了Map接口其他实现了Collection接口。 ArrayList 顺序表 LinkedList 双向链表 ArrayDeque 循环数组实现的双端队列 HashSet 没有重复元素的无序集合 TreeSet 有序集 EnumSet 包含枚举类型值的集 LinkedHashSet 可以记住元素插入顺序的集 PriorityQueue 允许高效删除最小元素的集合 HashMap   TreeMap   EnumMap 键值属于枚举类型 LinkedHashMap 可以记住K/V的添加次序 WeakHashMap 其值无用武之地后可以被垃圾回收器回收 IdentityHashMap 用而不是equals比较键值的映射表 LinkedList interface ListIteratorE extends IteratorE {void add(E element);E previous();boolean hasPrevious(); }set方法用一个新元素取代调用next或previous方法返回的上一个元素。 ListIteratorString iter list.listIterator(); String oldValue iter.next(); //returns first element iter.set(newValue); //sets first element to newValue 当某个迭代器修改集合时另一个迭代器对其进行遍历一定会出现混乱的状况。 例如一个迭代器指向另一个迭代器刚刚删除的元素前面现在这个迭代器就是无效的并且不应该再使用。 链表迭代器的设计使它能够检测到这种修改。 如果迭代器发现它的集合被另一个迭代器修改了或是被该集合自身的方法修改了就会抛出一个ConcurrentModificationException。 例如 ListIteratorString iter1 list.listIterator(); ListIteratorString iter2 list.listIterator(); iter1.next(); iter1.remove(); iter2.next(); //throws ConcurrentModificationException 链表不支持随机访问但支持get(int index)。 get方法的小优化如果index size() / 2 就从列表尾端开始搜索元素。 for (int i 0; i list.size(); i)do something with list.get(i);//效率极低。出现此代码说明用错数据结构。nextIndex()  previousIndex()  返回索引值 list.listIterator(n)返回一个迭代器这个迭代器指向索引为n的元素前面的位置。 ArrayList 适用于get和set方法。 Vector类的所有方法都是同步的如果由一个线程访问Vector代码要在同步操作上耗费大量的时间。 ArrayList方法不是同步的。 散列集 散列表hash table 散列表为每个对象计算一个整数称为散列码hash code。 散列码是由对象的实例域产生的一个整数。具有不同数据域的对象将产生不同的散列码。 散列码要能够快速的计算出来。 在Java中散列表用链表数组实现。每个列表被称为桶bucket。 散列码与桶数的余数是元素的桶的索引。 散列冲突hash collision 将桶数设置为预计元素个数的75%~150%最好将桶数设置为一个素数以防键的聚集。 标准库使用的桶数是2的幂默认值为16。为表大小提供的任何值都将被自动的转换为2的下一个幂。 如果散列表太满就需要再散列rehashed。 创建一个双倍桶数的表将所有元素插入到这个新表中然后丢弃原来的表。 装填因子load factor决定何时对散列表进行再散列。 对大多数应用程序来说装填因子为0.75是比较合理的。 散列集迭代器依此访问所有的桶所以访问顺序是随机的。 HashSet 树集 有序集合sorted collection 红黑树red-black tree 迭代器以排好序的顺序访问每个元素 添加元素到树中要比添加到散列表中慢但是与将元素添加到数组或链表中相比还是快很多的。 TreeSet 对象的比较 默认情况下树集假定插入的元素实现了Comparable接口。 public interface ComparableT {int compareTo(T other); } a.compareTo(b); //相等返回0a在前返回负值b在前返回正值。使用Comparable接口定义排序有局限性。 对于一个给定的类只能够实现这个接口一次。 如果在一个集合中需要按照部件编号进行排序在另一个集合中却要按照描述信息进行排序该如何 如果一个类没有实现Comparable接口又该如何 可通过将Comparator对象传递给TreeSet构造器来告诉树集使用不同的比较方法。 pubic interface ComparatorT {int compare(T a, T b); }如 class ItemComparator implements ComparatorItem {public int compare(Item a, Item b){ return a.getDescription().compareTo(b.getDescription()); } } ItemComparator comp new ItemComparator(); SortedSetItem sortByDescription new TreeSet(comp);比较器是比较方法的持有器不含数据将这种对象称为函数对象function object。 函数对象通常动态定义即定义为匿名内部类的实例。 SortedSetItem sortByDescription new TreeSet(new ComparatorItem() {public int compare(Item a, Item b)return a.getDescription().compareTo(b.getDescription()); }队列与双端队列 ArrayDeque 优先级队列 priority queue 可以按照任意的顺序插入却总是按照排序的顺序进行检索。 即无论何时调用remove方法总会获得当前优先级队列中最小的元素。 优先级队列使用的是堆heap。 映射表 Map key/value HashMap  TreeMap 三种视图 SetK keySet() CollectionK values() SetMap.EntryK, V entrySet() 弱散列映射表 WeakHashMap 如果一个值对应键的唯一引用来自散列表条目时这一数据结构将与垃圾回收器协同工作一起删除键/值对。 连接散列集和连接映射表 LinkedHashSet  LinkedHashMap 用来记住插入元素项的顺序。 链接散列映射表将用访问顺序而不是插入顺序对映射表条目进行迭代。 标识散列映射表 IdentityHashMap 键的散列不是用hashCode函数来计算的而是用System.identityHashCode方法计算。 根据对象的内存地址来计算散列码。 两个对象进行比较时IdentityHashMap使用的是””。 在实现对象遍历算法如对象序列化时这个类非常有用可以用来跟踪每个对象的遍历状况。 13.3 集合框架 框架framework是一个类的集它奠定了创建高级功能的基础。 框架包含很多超类这些超类拥有非常有用的功能、策略和机制。 框架使用者创建的子类可以扩展超类的功能而不必重新创建这些基本的机制。 例如Swing就是一种用户界面的机制。 Java集合类库构成了集合类的框架它为集合的实现定义了大量的接口和抽象类并且对其中的某些机制给予了描述例如迭代协议。 如果想要实现用于多种集合类型的泛型算法或者想要增加新的集合类型必须了解框架。 集合有两个基本接口Collection和Map List是一个有序集合ordered collection 标记接口RandomAccess检测一个特定的集合是否支持随机检索。 集合接口有大量地方法这些方法可以通过更基本的方法加以实现。 抽象类提供了许多这样的例行实现。 如果实现了自己的集合类就可能要扩展上面某个类以便可以选择例行操作的实现。 Java类库支持下面几种具体类 视图与包装器 keySet方法返回一个实现Set接口的类对象这个类的方法对原映射表进行操作。 这种集合称为视图。 1、轻量级包装器 Arrays类的静态方法asList将返回一个包装了普通Java数组的List包装器。 Card[] cardDeck new Card[52]; ListCard cardList Arrays.asList(cardDeck); 改变数组大小的所有方法都会抛出一个UnsupportedOperationException异常。 ListString names Arrays.asList(“Amy”, “Bob”, “Carl”); 这个方法调用Collections.nCopies(n, anObject)方法。 2、子范围视图 subList方法 List group2 staff.subList(10, 20); //含首不含尾 可以将任何操作应用于子范围。 对于有序集和映射表可以使用排序顺序建立子范围。 SortedSet接口声明了3个方法 SortedSetE subSet(E from, E to); SortedSetE headSet(E to); SortedSetE tailSet(E from); SortedMapK, V subSet(K from, K to); SortedMapK, V headSet(K to); SortedMapK, V tailSet(K from); 3、不可修改视图 Collections.unmodiffiableCollection Collections.unmodifiableList Collections.unmodifiableSet Collections.unmodifiableSortedSet Collections.unmodifiableMap Collections.unmodifiableSortedMap 每个方法都定义于一个接口。 这些视图对现有集合增加了一个运行时的检查。 如果发现试图对集合进行修改就抛出一个异常。 4、同步视图 如果由多个线程访问集合就必须确保集不会被意外的破坏。 类库的设计者使用视图机制来确保常规集合的线程安全而不是实现线程安全的集合类。 MapString, Employee map Collections.synchronizedMap(new HashMapString, Employee()); 5、检查视图 ListString sateStrings Collections.checkedList(strings, String.class); 视图的add方法将检测插入的对象是否属于给定的类。如果不是则抛出ClassCastException。 批操作 bulk operation result.retainAll(a); //保存了交集 result.removeAll(b); result.addAll(b); 集合与数组之间的转换 数组-集合Arrays.asList包装器 集合-数组toArray()方法 staff.toArray();//返回的是Object数组不能强制类型转换 staff.toArray(new String[0]);//返回的是String数组 staff.toArray(new String[staff.size()]); //将元素一次复制到新数组中并返回新数组 13.4 算法 泛型集合接口有一个很大的优点即算法只需要实现一次。 排序 Collections类中的sort方法。 这个方法假定元素实现了Comparable接口。 如果想采用其他方式对列表进行排序可将Comparator对象作为第二个参数传递给sort方法。 降序Collections.reverseOrder()方法 Java直接将所有元素转入一个数组并使用归并排序的变体对数组进行排序然后将排序后的序列复制回列表。 集合类库中使用的归并排序算法比快速排序要慢快速排序是通用排序算法的传统选择。 归并排序的优点稳定即不需要交换相同的元素。 排序的列表必须是可修改的但不必是可以改变大小的。 ·如果列表支持set则是可修改的 ·如果列表支持add和remove方法则是可改变大小的。 混乱 Collections的shuffle算法随机的混排列表中元素的顺序。 如果没有实现RandomAccess接口shuffle方法将元素复制到数组中然后打乱数组元素的顺序最后再将打乱顺序后的元素复制回列表。 二分查找: i Collections.binarySearch(c, element); i Collections.binarySearch(c, element, comparator); 二分查找对顺序表有意义如果对链表采用二分查找则自动变为顺序查找。 编写自己的算法 如果编写自己的算法应该尽可能的使用接口而不要使用具体的实现。 13.5 遗留的集合 Java程序设计语言自问世以来就存在的集合Hashtable  Properties  Vector  Stack  BitSet Hashtable 与HashMap类的作用一样拥有相同的接口。 Hashtable的方法也是同步的。 枚举 使用Enumeration接口对元素序列进行遍历。 两个方法hasMoreElements和nextElement。 静态方法Collections.enumeration将产生一个枚举对象枚举集合中的元素。 属性映射表 property map ·键和值都是字符串 ·表可以保存到一个文件中也可以从文件中加载 ·使用一个默认的辅助表。 实现属性映射表的类称为Properties。 通常用于程序的特殊配置选项。 栈 stack 位集 BitSet类提供了一个便于读取、设置或清除各个位的接口。 与C中的bitset功能一样。

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

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

相关文章

NOIP2025模拟赛28

T1 T2 T3 T4\(\color{#52C41A} 普及+/提高\) \(\color {#3498DB} 提高+/省选-\) \(\color {#3498DB} 提高+/省选-\) \(\color{#9D3DCF} 省选/NOI-\)参赛网址:https://oj.33dai.cn/d/TYOI/contest/68a2efb9c5d9c2f14c2…

markdown笔记文件批量打上时间戳

解决了给一个文件夹(包含子文件夹)下的所有.md文件在最前面添加时间戳。 例如`Typora 笔记迁移 Obsidian 图片链接处理.md`修改为`20251001-Typora 笔记迁移 Obsidian 图片链接处理` 打上时间戳的笔记能够更好配合笔…

微服务调整中心高可用设计:从踩坑到落地的实战指南(二)

微服务调整中心高可用设计:从踩坑到落地的实战指南(二)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

NOIP2025模拟赛30

T1 T2 T3 T4\(\color{#52C41A} 普及+/提高\) \(\color{#52C41A} 普及+/提高\) \(\color{#9D3DCF} 省选/NOI-\) \(\color{#9D3DCF} 省选/NOI-\)参赛网址:https://oj.33dai.cn/d/TYOI/contest/68abe2d6c5d9c2f14c2cd7d2…

制作一个网站的全过程wordpress 手机 图片不显示

入门数字设计的时候,跨时钟域的数据处理是绕不开的课题,特别是多比特数据跨时钟域时,都会采用异步FIFO的方法。 异步FIFO中涉及较多的考点这里记录几个以供大家参考。 1. 异步FIFO的空满判断分别在哪个域? 根据异步FIFO的结构&…

dede采集规则下载网站爱给网官网免费素材

https://github.com/yechens/NL2SQL Text2SQL 语义解析数据集、解决方案、paper资源整合项目

图文讲解k8s中Service、Selector、EndpointSlice的运行原理 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

怎么做义工网站去河南省住房和城乡建设厅网站查

下载ssh https://github.com/PowerShell/Win32-OpenSSH/releases 然后把它放入 C:\Program Files 中 添加环境变量 高级系统设置-》高级-》环境变量-》 是用户变量 不是系统变量 选择 path- 然后点击编辑,然后新建, 把刚才的地址放进去 C:\Program F…

2025西安品牌新房,西安刚需新房,陕西优质新房住宅推荐,地建嘉信臻境,超2000㎡高端会所,满足多元化生活需求

2025西安品质新房推荐:地建嘉信臻境,开启理想人居新篇章 在西安这座充满活力与机遇的城市,寻找一处理想的新房成为许多人的梦想。今天,为大家推荐一个备受瞩目的项目——地建嘉信臻境,它将为您带来前所未有的居住…

公司网站主页设计网络销售怎么做才能做好

思科设备参考:路由引入实验(思科) 技术简介 路由引入技术在网络通信中起着重要的作用,能够实现不同路由协议之间的路由传递,并在路由引入时部署路由控制,实现路径或策略的控制 实验目的 不同的路由协议之…

2025年未央区高端楼盘,西咸新区品质楼盘,西安高新品牌楼盘住宅口碑推荐,地建嘉信臻境周边配套丰富,教育医疗商业齐全

地建嘉信臻境:沣东文商板块的品质之选 地建嘉信臻境项目由拥有二十余年地产开发经验的团队运营,作为地建嘉信深耕陕西6年、布局6城8盘的第八座作品,以国企担当为依托,致力于革新沣东区域的生活范本。项目位于沣东文…

copyparty.exe 怎么用?局域网文件共享工具安装与运行教程

copyparty.exe 怎么用?局域网文件共享工具安装与运行教程​一、什么是 copyparty?​copyparty​ 是一个开源的小工具,主要用来快速在局域网里共享文件,比如你可以用手机、电脑通过浏览器访问,直接上传或下载文件,…

2025西安高端新房,西安优质新房,西安品牌新房住宅推荐,地建嘉信臻境,沣东文商板块门户,享双地铁便利

2025西安高端新房推荐:地建嘉信臻境引领品质人居新风尚 在西安这座充满魅力与活力的城市中,寻找一处理想的居住之所成为众多购房者的追求。而地建嘉信臻境项目,无疑是众多优质新房中的一颗璀璨明星。地建嘉信臻境项…

2025年西安洋房楼盘,陕西优质楼盘,西咸新区现房楼盘住宅口碑推荐,地建嘉信臻境超2000㎡高端会所,功能多样

2025年西安洋房楼盘——地建嘉信臻境的魅力所在 在西安房地产市场中,地建嘉信臻境项目犹如一颗璀璨的明珠,闪耀着独特的光芒。它由拥有二十余年地产开发经验的团队运营,作为地建嘉信深耕陕西6年、布局6城8盘的第八座…

Python 闭包的应用场景与实战案例

在 Python 中,闭包是一种非常强大的功能,它允许我们创建私有的作用域,并在函数外部访问函数内部的变量。闭包在实际开发中有着广泛的应用,从简单的数据隐藏到复杂的装饰器实现,闭包都能大显身手。今天,就让我们一…

STM32 智能垃圾桶项目笔记(二):超声波测距功能实现 - 指南

STM32 智能垃圾桶项目笔记(二):超声波测距功能实现 - 指南2025-10-01 12:35 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !import…

做电影网站要几G空间的网站开发商业秘密保密协议

Part 1 制图综述 1.1 制图的目的 随着GIS在各行各业的深入应用,各信息化部门和生产单位都逐渐建立起自己的GIS的应用,同时积累了大量的地理数据。随着应用深度和广度的推进,针对数据建立专题应用越来越迫切,对行业专题制图的需…

通过配置 GitLab 自动触发项目自动化构建与部署 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

双网卡服务器校园网访问故障排查与解决​ - 教程

双网卡服务器校园网访问故障排查与解决​ - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …