- @toc 1、包装类 通过查看源码或API文档,我们可以知道包装类再java.lang包下,而且所有包装类都是final修饰的,即不能被继承。里面维护的基本数据类型的变量value,也是final修饰的,不能更改,即一旦创建对象,其内容就不能修改。包装类主要分为三种不同类型:数值类型(Byte、Short、Integer、Long、Float和Double)、Character类型、Boo... @toc 1、包装类 通过查看源码或API文档,我们可以知道包装类再java.lang包下,而且所有包装类都是final修饰的,即不能被继承。里面维护的基本数据类型的变量value,也是final修饰的,不能更改,即一旦创建对象,其内容就不能修改。包装类主要分为三种不同类型:数值类型(Byte、Short、Integer、Long、Float和Double)、Character类型、Boo...
- @toc 1、Arrays类 为了简化对数组的操作,JDK1.2在java.util包下增加了一个Arrays类(数组工具类),里面提供了一系列静态方法,用于对数组进行排序、查找等。Arrays类常见方法如表所示。序号方法定义描述1String toString(int[] arr)将数组各元素进行拼接,最终返回数组格式的字符串2void sort(int[] arr)对指定的int型数组... @toc 1、Arrays类 为了简化对数组的操作,JDK1.2在java.util包下增加了一个Arrays类(数组工具类),里面提供了一系列静态方法,用于对数组进行排序、查找等。Arrays类常见方法如表所示。序号方法定义描述1String toString(int[] arr)将数组各元素进行拼接,最终返回数组格式的字符串2void sort(int[] arr)对指定的int型数组...
- C语言实现基础数据结构 C语言实现基础数据结构
- 本章将会讲解由于所有出现在查询中的字段是索引的一部分, MongoDB 无需在整个数据文档中检索匹配查询条件和返回使用相同索引的查询结果。 因为索引存在于RAM中,从索引中获取数据比通过扫描文档读取数据要快得多。 本章将会讲解由于所有出现在查询中的字段是索引的一部分, MongoDB 无需在整个数据文档中检索匹配查询条件和返回使用相同索引的查询结果。 因为索引存在于RAM中,从索引中获取数据比通过扫描文档读取数据要快得多。
- 动态绑定机制(1)当调用对象方法的时候,该方法会和该对象的内存地址/运行类型绑定。(2)当调用对象属性的时候,没有动态绑定机制,在哪里声明就在哪使用。案例public class DynamicBinding { public static void main(String[] args) { //编译类型为X,运行类型为Y X x = new Y();//... 动态绑定机制(1)当调用对象方法的时候,该方法会和该对象的内存地址/运行类型绑定。(2)当调用对象属性的时候,没有动态绑定机制,在哪里声明就在哪使用。案例public class DynamicBinding { public static void main(String[] args) { //编译类型为X,运行类型为Y X x = new Y();//...
- 二叉排序树二叉排序树介绍二叉排序树,BST: (Binary Sort(Search) Tree), 对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当 前节点的值小,右子节点的值比当前节点的值大。特别说明:如果有相同的值,可以将该节点放在左子节点或右子节点。二叉排序树创建和遍历一个数组创建成对应的二叉排序树,并使用中序遍历二叉排序树,比如: 数组为 Array(7, 3, 10, 1... 二叉排序树二叉排序树介绍二叉排序树,BST: (Binary Sort(Search) Tree), 对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当 前节点的值小,右子节点的值比当前节点的值大。特别说明:如果有相同的值,可以将该节点放在左子节点或右子节点。二叉排序树创建和遍历一个数组创建成对应的二叉排序树,并使用中序遍历二叉排序树,比如: 数组为 Array(7, 3, 10, 1...
- 二叉树为什么需要树这种数据结构(1)数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低。(2)链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可, 删除效率也很好)。 缺点:在进行检索时,效率仍然较低,比如... 二叉树为什么需要树这种数据结构(1)数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低。(2)链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可, 删除效率也很好)。 缺点:在进行检索时,效率仍然较低,比如...
- 斐波那契(黄金分割法)查找算法基本介绍黄金分割点是指把一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。取其前三位 数字的近似值是 0.618。由于按此比例设计的造型十分美丽,因此称为黄金分割,也称为中外比。这是一个神 奇的数字,会带来意向不大的效果。斐波那契数列 {1, 1, 2, 3, 5, 8, 13, 21, 34, 55 } 发现斐波那契数列的两个相邻数 的比例... 斐波那契(黄金分割法)查找算法基本介绍黄金分割点是指把一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。取其前三位 数字的近似值是 0.618。由于按此比例设计的造型十分美丽,因此称为黄金分割,也称为中外比。这是一个神 奇的数字,会带来意向不大的效果。斐波那契数列 {1, 1, 2, 3, 5, 8, 13, 21, 34, 55 } 发现斐波那契数列的两个相邻数 的比例...
- 插值查找算法1)插值查找原理介绍: 插值查找算法类似于二分查找,不同的是插值查找每次从自适应 mid 处开始查找。2)将折半查找中的求 mid 索引的公式 , low 表示左边索引 left, high 表示右边索引 right. key 就是前面我们讲的 findVal3) int mid = low + (high - low) * (key - arr[low]) / (arr[hig... 插值查找算法1)插值查找原理介绍: 插值查找算法类似于二分查找,不同的是插值查找每次从自适应 mid 处开始查找。2)将折半查找中的求 mid 索引的公式 , low 表示左边索引 left, high 表示右边索引 right. key 就是前面我们讲的 findVal3) int mid = low + (high - low) * (key - arr[low]) / (arr[hig...
- 查找算法分类顺序(线性)查找二分查找/折半查找插值查找斐波那契查找线性查找算法有一个数列: {1,8, 10, 89, 1000, 1234} ,判断数列中是否包含此名称【顺序查找】 要求: 如果找到了,就提 示找到,并给出下标值。代码实现:public class SeqSearch { public static void main(String[] args) { ... 查找算法分类顺序(线性)查找二分查找/折半查找插值查找斐波那契查找线性查找算法有一个数列: {1,8, 10, 89, 1000, 1234} ,判断数列中是否包含此名称【顺序查找】 要求: 如果找到了,就提 示找到,并给出下标值。代码实现:public class SeqSearch { public static void main(String[] args) { ...
- 元字符-限定符用于指定其前面的字符和组合项连续出现多少次符号含义示例说明匹配输入*指定字符重复0次或者n次(无要求)(abc)*仅包含任意个abc的字符串,等效于\w*abc、abcabcabc+指定字符重复1次或者n次(至少一次)m+(abc)*以至少1个m开头,后接任意个abc的字符m、mabc?指定字符重复0次或1次(最多一次)m+abc?以至少1个m开头,后接ab或abc的字符串ma... 元字符-限定符用于指定其前面的字符和组合项连续出现多少次符号含义示例说明匹配输入*指定字符重复0次或者n次(无要求)(abc)*仅包含任意个abc的字符串,等效于\w*abc、abcabcabc+指定字符重复1次或者n次(至少一次)m+(abc)*以至少1个m开头,后接任意个abc的字符m、mabc?指定字符重复0次或1次(最多一次)m+abc?以至少1个m开头,后接ab或abc的字符串ma...
- 获取Class类对象(1)前提:已知一个类的全类名,且该类在类路径下,可通过Class类的静态方法forName()获取,可能抛出ClassNotFoundException。实例:Class cls1 = Class.forName("java.lang.Cat");应用场景:多用于配置文件,读取类全路径,加载类。(2)前提:若已知具体的类,通过类的class获取,该方式最为安全可靠,程序... 获取Class类对象(1)前提:已知一个类的全类名,且该类在类路径下,可通过Class类的静态方法forName()获取,可能抛出ClassNotFoundException。实例:Class cls1 = Class.forName("java.lang.Cat");应用场景:多用于配置文件,读取类全路径,加载类。(2)前提:若已知具体的类,通过类的class获取,该方式最为安全可靠,程序...
- Map接口实现类-Hashtable基本介绍(1)存放的元素是键值对:即key-value(2)Hashtable的键和值都不能为null,否则会抛出NullPointerException(3)Hashtable使用方法基本上和HashMap一致(4)Hashtable是线程安全的(synchronized),HashMap是线程不安全的Hashtable和HashMap比较(1)Hash... Map接口实现类-Hashtable基本介绍(1)存放的元素是键值对:即key-value(2)Hashtable的键和值都不能为null,否则会抛出NullPointerException(3)Hashtable使用方法基本上和HashMap一致(4)Hashtable是线程安全的(synchronized),HashMap是线程不安全的Hashtable和HashMap比较(1)Hash...
- HashMap底层机制及源码剖析(1)HashMap底层维护了Node类型的数组table,默认为null(2)当创建对象时,将加载因子(loadfactor)初始化为0.75(3)当添加key-value时,通过key的哈希值得到在table的索引、然后判断该索引处是否有元素,如果没有元素直接添加。如果该索引处有元素,继续判断该元素的key和准备加入的key是否相等,如果相等,则直接替换v... HashMap底层机制及源码剖析(1)HashMap底层维护了Node类型的数组table,默认为null(2)当创建对象时,将加载因子(loadfactor)初始化为0.75(3)当添加key-value时,通过key的哈希值得到在table的索引、然后判断该索引处是否有元素,如果没有元素直接添加。如果该索引处有元素,继续判断该元素的key和准备加入的key是否相等,如果相等,则直接替换v...
- LinkedList 底层结构说明(1)LinkedList底层实现了双向链表和双端队列的特点(2)可以添加任意元素(元素可以重复),包括null(3)线程不安全,没有实现同步LinkedList 的底层操作机制(1)LinkedList底层维护了一个双向链表(2)LinkedList中维护了两个属性first和last分别指向首节点和尾节点(3)每个节点(Node对象),里面又维护了pre... LinkedList 底层结构说明(1)LinkedList底层实现了双向链表和双端队列的特点(2)可以添加任意元素(元素可以重复),包括null(3)线程不安全,没有实现同步LinkedList 的底层操作机制(1)LinkedList底层维护了一个双向链表(2)LinkedList中维护了两个属性first和last分别指向首节点和尾节点(3)每个节点(Node对象),里面又维护了pre...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签