- @TOC 前言前几天我们看了Java集合List接口详解——含源码分析,今天我们看一个数据一个数据存储的另一个接口——Set。 Set前面我们说List最大的特点是:有序,不唯一,而set是:无序,唯一,无序不是随机,我们后面来通过实现类来看他这俩个特点,还有与list差距比较大的地方是set没有与索引相关的方法,在ArrayList中我们说过,没有索引,就不能用普通for循环来进行遍历。 ... @TOC 前言前几天我们看了Java集合List接口详解——含源码分析,今天我们看一个数据一个数据存储的另一个接口——Set。 Set前面我们说List最大的特点是:有序,不唯一,而set是:无序,唯一,无序不是随机,我们后面来通过实现类来看他这俩个特点,还有与list差距比较大的地方是set没有与索引相关的方法,在ArrayList中我们说过,没有索引,就不能用普通for循环来进行遍历。 ...
- 泛型泛型就相当于集合的标签,我们在使用集合<>的时候,就是在使用泛型要知道的是在jdk1.5以前我们只能把集合中的元素设计为Object,之后引入了泛型的概念来解决,我们把元素的类型设计成一个参数,这个类型参数就叫做泛型。 为啥要有泛型我们假设没有泛型会出现哪种情况,Object类型,是不是啥都能存放?少了限制package fanxing;import java.util.ArrayLi... 泛型泛型就相当于集合的标签,我们在使用集合<>的时候,就是在使用泛型要知道的是在jdk1.5以前我们只能把集合中的元素设计为Object,之后引入了泛型的概念来解决,我们把元素的类型设计成一个参数,这个类型参数就叫做泛型。 为啥要有泛型我们假设没有泛型会出现哪种情况,Object类型,是不是啥都能存放?少了限制package fanxing;import java.util.ArrayLi...
- 力扣232 - 用栈实现队列,教你如何使用双栈实现队列操作 力扣232 - 用栈实现队列,教你如何使用双栈实现队列操作
- 线性时间选择(Top K)问题(Java) 线性时间选择(Top K)问题(Java)
- Strassen矩阵乘法问题(Java) Strassen矩阵乘法问题(Java)
- 链表章节最后一题🔥终极试炼🔥【复杂链表的随机指针复制】,带你融汇贯通掌握链表的所有知识📰 链表章节最后一题🔥终极试炼🔥【复杂链表的随机指针复制】,带你融汇贯通掌握链表的所有知识📰
- 一、前言注:该方法会改变原始数组。ES6从数组中删除指定元素,然后返回被删除的项目。findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。arr.splice(arr.findIndex(item => item.id === data.id), 1) 二、splice实现删除、替换、新增splice(index,len,[item]) splice有3个... 一、前言注:该方法会改变原始数组。ES6从数组中删除指定元素,然后返回被删除的项目。findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。arr.splice(arr.findIndex(item => item.id === data.id), 1) 二、splice实现删除、替换、新增splice(index,len,[item]) splice有3个...
- 最优二叉搜索树问题(Java) 最优二叉搜索树问题(Java)
- 棋盘覆盖问题(Java) 棋盘覆盖问题(Java)
- 附详细算法图解和证明解说,教你使用快慢双指针一破环形链表的奥秘 附详细算法图解和证明解说,教你使用快慢双指针一破环形链表的奥秘
- @[toc] 一.设计模式设计模式有很多种,根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 中所提到的,总共有 23 种设计模式。设计模式是是前辈们对代码开发经验的总结,是解决特定问题的一系列套路,比如适配器模式,迭代器模式迭代器模式:迭代... @[toc] 一.设计模式设计模式有很多种,根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 中所提到的,总共有 23 种设计模式。设计模式是是前辈们对代码开发经验的总结,是解决特定问题的一系列套路,比如适配器模式,迭代器模式迭代器模式:迭代...
- @[toc] 1.kmpKMP 的精髓就是 next 数组:也就是用 next[j] = k;简单理解就是:来保存子串某个位置匹配失败后,回退的位置。给定一个字符串 S,以及一个模式串 P,所有字符串中只包含大小写英文字母以及阿拉伯数字。模式串 P 在字符串 S 中多次作为子串出现。求出模式串 P 在字符串 S 中所有出现的位置的起始下标。输入格式第一行输入整数 N,表示字符串 P 的长度。... @[toc] 1.kmpKMP 的精髓就是 next 数组:也就是用 next[j] = k;简单理解就是:来保存子串某个位置匹配失败后,回退的位置。给定一个字符串 S,以及一个模式串 P,所有字符串中只包含大小写英文字母以及阿拉伯数字。模式串 P 在字符串 S 中多次作为子串出现。求出模式串 P 在字符串 S 中所有出现的位置的起始下标。输入格式第一行输入整数 N,表示字符串 P 的长度。...
- @[toc] 1.单链表考虑到效率问题,如果每次都去new结点效率比较慢,平时做题时不采用动态:在有严格的时间要求的环境中,不能频繁使用new操作,new的底层涉及内存分配,调用构造函数,指针转换等多种复杂且费时的操作。也就不能使用结构体来实现数组。数组模拟单链表:单链表最常见的是用来写邻接表,n个链表,存储树和图数组模拟双链表:优化某些问题。理解数组模拟链表:对于单链表,我们都非常熟悉了,... @[toc] 1.单链表考虑到效率问题,如果每次都去new结点效率比较慢,平时做题时不采用动态:在有严格的时间要求的环境中,不能频繁使用new操作,new的底层涉及内存分配,调用构造函数,指针转换等多种复杂且费时的操作。也就不能使用结构体来实现数组。数组模拟单链表:单链表最常见的是用来写邻接表,n个链表,存储树和图数组模拟双链表:优化某些问题。理解数组模拟链表:对于单链表,我们都非常熟悉了,...
- @[toc] 1.双指针双指针的算法可以优化时间复杂度,双指针,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向( 快慢指针 )或者相反方向( 对撞指针 )的指针进行扫描,从而达到相应的目的。将双层暴力循环O(n^2)优化到O(n),所以双指针算法最核心的用途就是优化时间复杂度。双指针是比较常见的把,直接看例子既可以。给定一个长度为 n 的整数序列,请找出最长的... @[toc] 1.双指针双指针的算法可以优化时间复杂度,双指针,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向( 快慢指针 )或者相反方向( 对撞指针 )的指针进行扫描,从而达到相应的目的。将双层暴力循环O(n^2)优化到O(n),所以双指针算法最核心的用途就是优化时间复杂度。双指针是比较常见的把,直接看例子既可以。给定一个长度为 n 的整数序列,请找出最长的...
- Linux 下使用 Shell 处理文本时最常用的工具有: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk。 Linux 下使用 Shell 处理文本时最常用的工具有: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk。
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第三期2026/08/21 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;念擎-华为云AI开发者运营案例开发专家
本期直播内容:AI六层能力首次详细解读 + 新一代华为云开发者空间亮相 + 校园案例直播带练
回顾中
热门标签