0、排序算法说明0.1 排序的定义对一序列对象根据某个关键字进行排序。0.2 术语说明稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内排序:所有排序操作都在内存中完成;外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;时间复杂度: 一个算 …
copyofrange
本头条号将会继续分析JDK8的源码,欢迎关注和收藏,我也会将分析PDF笔记公布在github网站。在阅读StringBuffer类源码时,最好先阅读下它的父类:AbstractStringBuilder类,因为StringBuffer类的很多方法都是继承它父类的方法,AbstractStringBuilder类的源码分析如下链接:Java源码分析-Abstr …
1.最常见的方式,使用位移替代乘除法举例:乘以2,相当于左移一位,除以2相当于右移一位。n = n << 1;乘以2n = n >> 1;除以2一般要求被乘数和被除数是2的N次方,那么怎么判断是否2的N次方呢?* Method to check if x is power of 2*static boolean isPowerOfTw …
问题:String能被继承吗?为什么?答案:不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。平常我们定义的String str=”a”;其实和String str=new String(“a”)还是有差异的。前者默认调用的是String.valueOf来返回String实例对象,至于调用哪个则取决于你的赋 …
文章目录前言一、问题是什么?二、为什么这里while和if的效果一样?1.slen < blen < len : 1000 < 8192 < 100002. slen < len < blen : 1000 < 1024 < 81923. blen < slen < len : 8192 < …
两个数组的交集 II题目描述:给定两个数组,编写一个函数来计算它们的交集。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:https:leetcode-cn.comproblemsintersection-of-two-arrays-ii 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解法一:数组遍历首先,声明一 …
堆排序是一种利用堆数据结构进行排序的算法。堆排序分为两个步骤,第一步是构建最大堆或最小堆,第二步是进行排序。1、构建最大堆或最小堆最大堆是一种二叉树结构,满足任意一个非叶子节点的值都不小于其左右子节点的值,堆顶元素即为最大值。最小堆则相反,任意一个非叶子节点的值都不大于其左右子节点的值,堆顶元素即为最小值。堆的构建可以通过自下而上或自上而下两种方式实现。以构 …
数组的一些练习和运用以及二维数组进行解析:movie_camera:数组练习数组转化为字符串使用这个我们以后打印数组就会更加方便一点。Java中提供了java.util.Arrays包,其中包含了一些操作数组的常用方法。这里给大家列举几个常用的方法1、:christmas_tree:二叉搜索算法使用二叉搜索算法搜索指定值的指定数组的范围。在进行此呼叫之前,范 …
前言对Java开发的知识点进行深入的学习,并打算做成系列,先从基础常用的重点(面试点)知识开始,后续会陆续扩展,加油!涉及到底层的可能代码块会多点,但要学习底层不看代码看啥?代码说明一切!!!放心,基本上每句代码都会写上注释。若有不对或侵权行为请联系指出!int相关问题声明一个int类型的时候可以使用int、Integer、new Integer,那它们的底 …
在JDK6 和JDK 7 里面substring(int beginIndex, int endIndex)的方法是不同的。 知道这种区别会帮助你更好用它们。为了简单期间,下面用substring() 来表示 substring(int beginIndex,Int endIndex) 方法。一 substring方法作用substring(int begi …