![](https://img-blog.csdnimg.cn/20200212202232295.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
java
《算法》学习
随行的光
嘿嘿嘿,哈哈哈
展开
-
ArrayList扩容机制
本篇主要看的是jdk1.8 至于其他版本大同小异,1)List扩容实现步骤总的来说就是分两步:扩容:把原来的数组复制到另一个内存空间更大的数组中添加元素:把新元素添加到扩容以后的数组中2)源码分析先把ArrayList中定义的一些属性贴出来方便下面源码分析分析之前我们先看一下ArrayList的两个构造方法ArrayList()ArrayList(int initial...转载 2020-04-25 15:49:01 · 1196 阅读 · 1 评论 -
[ IJ ] the file size exceeds configured limit(2.56M).Code insight features are not available
当我们放入项目中的资源文件过大时,在IDEA中可能会有这样的报错解决方法:点击help,点击Edit Custom Properties…修改配置文件:重启IDEA,弹框消失;...原创 2020-04-25 14:32:49 · 1416 阅读 · 2 评论 -
java正则表达式实战(获取网站中显示的超链接)
有些网站反爬,可能会用不了,这个的主要目的是为了练习正则表达式import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.URL;import java.nio.charset.Charset;import java.util.Arra...原创 2020-04-24 18:00:15 · 361 阅读 · 0 评论 -
java正则表达式基础入门
字符边界匹配的不是字符而是位置,符合某种条件的位置^与字符串开始的地方匹配$与字符串结束的地方匹配\b匹配一个单词边界\b匹配这样一个位置:前面的字符和后面的字符不全是\w...原创 2020-04-24 16:30:19 · 139 阅读 · 0 评论 -
状态(State)模式
状态(State)模式 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式的结构 用一句话来表述,状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类。状态模式的意图是让一个对象在...转载 2020-04-16 21:16:37 · 320 阅读 · 0 评论 -
Java中的重载和重写的区别
重写与重载之间的区别区别点重载方法重写方法参数列表必须修改一定不能修改返回类型可以修改一定不能修改异常可以修改可以减少或删除,一定不能抛出新的或者更广的异常访问可以修改一定不能做更严格的限制(可以降低限制)总结方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一...原创 2020-04-14 22:05:26 · 87 阅读 · 0 评论 -
Java 多态
Java 多态多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:多态性是对象多种表现形式的体现。现实中,比如我们按下 F1 键这个动作:如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;如果当前在 Word 下弹出的就是 Word 帮助;在 Windows 下弹出的就是 Windows 帮助和支持。同一个事件...转载 2020-04-14 21:40:38 · 71 阅读 · 0 评论 -
对于Arrays.copyofRange中复制的分析
如果数组中的元素为可变对象:只是copy了地址,修改原数组中的元素,新的数组中的元素仍然会发生变化;如果是不可变对象,比如基本数据类型int,(可能是因为java的常量池机制,不清楚),改变原数组中的内容,新的数组中的内容不会改变;...原创 2020-04-12 18:45:10 · 637 阅读 · 0 评论 -
最大子数组问题(分治法,暴力法),最后附有分治法JAVA实现
问题描述:给定一个数组A,寻找A的和最大的非空连续子数组,我们称这样的连续子数组为最大子数组第一种方法:遍历,从第一个元素一直遍历到最后一个元素,算出和最大的子数组,算法复杂度为Θ(n2n^2n2),容易实现,但不建议使用;第二种方法:分治策略接下来主要介绍分治策略的实现:使用分治策略意味着我们要将子数组划分为两个规模尽量相等的子数组。因此首先要找到子数组的中央位置,比如mi...原创 2019-08-28 17:10:29 · 622 阅读 · 0 评论 -
有向图(拓扑排序+深度优先搜索+图的先序后序逆后序顶点排序+Kosoraju算法)
这篇文章代码是关于有向图的拓扑排序和强连通性算法;测试结果和预期结果有差别,找了很久,新手的(┬_┬)坑;Stack 这个数据结果在JAVA已经自动实现,但是对于foreach ,以及迭代器,数据的顺序是先进先出的,不会按照栈的后进先出顺序;这里修改了一下保证了迭代器中数据的顺序是后进先出的,测试结果正确;接下来是实现代码(包括测试代码可以直接运行的);主要内容:Digraph ...原创 2020-02-15 16:46:38 · 1539 阅读 · 0 评论 -
无向图实现+Kruskal+prim延时+prim即时(索引优先队列)Java实现
(┬_┬),终于…参考文章:算法☞《图》java实现索引优先队列本文主要是实现《算法》一书中关于无向图的部分内容,并加以测试;主要功能类(一个类用一个.java文件):文章目录Edge 边类EdgeWeightedGraph 加权无向图KruskalMST Kruskal求MSTWeightedQuickUnionUF 加权quick-union,配合KruskalLazyPrimM...原创 2020-02-12 20:55:38 · 209 阅读 · 0 评论 -
实现《算法》无向图(邻接表)的部分算法
实现《算法》无向图(邻接表)的部分算法参考文章:算法☞《图》java实现图的抽象类实现Graph class;无向图的实现图的抽象类接口,UndriGraph class;深度优先搜索类DepthFirstSearch class;深度优先搜索寻找两点之间是否有路径,并返回DepthFirstSearchPath class;连通分量算法CC class;广度优先搜索BreadFi...原创 2020-02-11 19:50:31 · 598 阅读 · 0 评论 -
一、(1)Java类结构和main函数
## Java类结构和main函数 Java 类结构必须以.java作为拓展名; 一个Java文件只能有一个public class; public class 的名字必须和文件名字一样,大小写必须完全一致; 一个文件可以有多个class,但是只能有一个是public,不提倡一个文件中放多个类(内部类除外) 类是Java中最基础逻辑单位; ...原创 2020-01-16 10:53:34 · 348 阅读 · 0 评论