JAVA学习笔记
文章平均质量分 92
从0学JAVA
Androids_lost_Sheep
苟有恒,何必三更眠五更起。最无益,莫过一日曝十日寒。
展开
-
用数组模拟栈和队列
文章目录摘要栈队列摘要之前已经介绍过JAVA中已经实现好的栈和队列,本文主要介绍如何用数组模拟栈和队列。用数组模拟栈和队列的的优点就是快。栈栈的特点是“先进后出”,只能在栈顶进行插入和删除,所以用数组模拟的话,我们只能在数组的末尾进行插入和删除。代码很简单,一看就能明白:public class Main{ static int[] s = new int[100010]; // 栈...原创 2020-02-14 19:01:06 · 3712 阅读 · 0 评论 -
最短路问题的五种算法
本文主要介绍关于图的最短路的五种常用算法和其应用。朴素Dijkstra堆优化DijkstraSPFAFloyd。这几种算法有各自的优势和劣势,适用于不同的场景。另:本篇文章篇幅较长,但难度不大, 建议学习算法的同时,自己手动画图,并模拟算法流程,将会一目了然,所见即所得!一定要画图。一定要刷题。写题的时候一定要注意是不是无向图, 无向图的话建边时要建一来一去两条,如果用邻接表存,数组一定要开足够大,至少是边数的两倍。对于邻接矩阵,要判断重边。邻接表则不需要判断重边。原创 2020-02-08 17:17:54 · 10286 阅读 · 10 评论 -
递归
文章目录摘要递归摘要本文将主要介绍递归。递归递归的含义很好理解,就是一个函数调用自身,难就难在如何确定一个题目的递归式,这就需要多刷题了。一个完整的递归函数包含两个部分:递归式递归出口以斐波那契数列为例:int f(int n){ if(n == 1 || n == 2) return 1; // 递归出口 return f(n-1) + f(n-2); // 递归式...原创 2020-02-03 23:06:23 · 12948 阅读 · 6 评论 -
java中sort方法的自定义比较器写法
文章目录摘要对数组排序对集合进行排序对自定义对象数组排序摘要在做一些算法题时常常会需要对数组、自定义对象、集合进行排序. 在java中对数组排序提供了Arrays.sort()方法,对集合排序提供Collections.sort()方法。对自定义对象排序时要自己重写比较器,对象数组则调用Arrays.sort(),对象集合则调用Collections.sort()。两个方法默认都是升序,也...原创 2020-02-02 21:26:37 · 11015 阅读 · 10 评论 -
算法竞赛中的常用JAVA API:PriorityQueue(优先队列)
文章目录PriorityQueue初始化常用函数实现大根堆的两种方式实例PriorityQueue翻译过来就是优先队列,本质是一个堆, 默认情况下堆顶每次都保留最小值,每插入一个元素,仍动态维护堆顶为最小值。初始化PriorityQueue()//使用默认的初始容量(11)创建一个 PriorityQueue,并根据其自然顺序对元素进行排序。PriorityQueue<In...原创 2020-01-31 22:40:26 · 7768 阅读 · 7 评论 -
算法竞赛中的常用JAVA API :HashSet 和 TreeSet
文章目录HashSetTreeSetset容器的特点是不包含重复元素,也就是说自动去重。HashSetHashSet基于哈希表实现,无序。add(E e)//如果容器中不包含此元素,则添加。clear()//清空contains(Object o)//查询指定元素是否存在,存在返回trueisEmpty()// 判空iterator()//返回此容器的迭代器remove//...原创 2020-01-28 14:40:21 · 5267 阅读 · 0 评论 -
算法竞赛中的常用JAVA API :HashMap 和 TreeMap
文章目录HashMapTreeMap摘要本文主要介绍Map接口下的HashMap和TreeMap。HashMapHashMap是基于哈希表的 Map 接口的实现,是无序的clear()//清空。containsKey(Object key)//如果包含指定键,返回truecontainsValue(Object value)//如果包含指定值, 返回trueget(Objec...原创 2020-01-25 22:10:08 · 7366 阅读 · 3 评论 -
算法竞赛中的常用JAVA API :ArrayList(Vector) 和 LinkedList
本文主要介绍ArrayList和LinkedList的常用方法, 也就是动态数组(C++中的vector)和链表,其中LinkedList可以用来实现队列和栈(C++中的queue和stack)。原创 2020-01-22 11:13:24 · 8985 阅读 · 0 评论 -
算法竞赛中的常用JAVA API :Calendar日期类
文章目录摘要Calendar类常用的日历字段Claendar类的实例化设置特定日期摘要在蓝桥杯中有关于日期计算的问题,正好java中的Date类和Calendar类提供了对日期处理的一些方法。Date类大部分方法已经废弃了,所以本文将详细介绍Calendar类。Calendar类Calendar 类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOU...原创 2020-01-21 23:36:50 · 8791 阅读 · 6 评论 -
蓝桥杯知识点汇总:基础知识和常用算法
此系列包含蓝桥杯(软件类)所考察的绝大部分知识点,算法,和写算法题必备的JAVA的基础语法,API,对想从C/C++转到JAVA组以及初学算法的同学会有帮助。原创 2020-03-18 19:42:44 · 120414 阅读 · 59 评论 -
算法竞赛中的常用JAVA API :String 、StringBuilder、StringBuffer常用方法和区别
本文将介绍String、StringBuilder类的常用方法。> 在java中**String**类不可变的,创建一个**String**对象后不能更改它的值。所以如果需要对原字符串进行一些改动操作,就需要用**StringBuilder**类或者**StringBuffer**类,**StringBuilder**比**StringBuffer**更快一些,缺点是**StringBuilder**不是线程安全的,但在算法竞赛中一般我们用不到多线程。所以,主要推荐使用**StringBuilder**类原创 2020-01-21 02:34:05 · 12465 阅读 · 14 评论 -
算法竞赛中的常用JAVA API :Math类
Math类包含了一些常用的数学方法,在java.lang.*包内。(不能用于大数类,大数类请参见备战蓝桥杯java(五):算法竞赛中的常用API :大数类)求最值求平方根求绝对值求幂(a^b)取整得到一个随机数三角函数求最值最小值原创 2020-01-18 21:45:53 · 9021 阅读 · 7 评论 -
算法竞赛中的常用JAVA API :大数类
文章目录BigIntegerjava中的基础数据类型能存储的最大的二进制数是2^63-1,对应的十进制数是9223372036854775807,也就是说只要运算过程中会超过这个数,就会造成数据溢出,BigIntegerBigInteger是java.math.*...原创 2020-01-14 13:40:23 · 14530 阅读 · 15 评论 -
JAVA基础语法:函数(方法)、类和对象
文章目录函数函数在java中函数也称为方法,是一段具备某种功能的可重用代码块。一个函数包括这几部分:1. 函数头2. 代码块3. 返回值函数头包括函数访问修饰符,函数返回值类型, 函数名,参数具体看个实例:public class Main{ public static void main(String[] args){ int a = 1; int b = 2; ...原创 2020-01-12 04:14:38 · 8572 阅读 · 7 评论 -
JAVA基础语法:常用功能符以及循环结构和分支结构
文章目录1.循环结构1.循环结构whilefordo…whilewhile:while(布尔表达式){}原创 2020-01-10 22:20:31 · 7065 阅读 · 1 评论 -
JAVA基础语法:java编程规范和常用数据类型
目录摘要面向java编程常用数据类型数组定义初始化数组的拷贝StringString 的创建(注意是大写S!):String类型的比较: 1.==, != : 2. str1.equals(String str2);String对象的遍历:摘要本文主要介绍了最基本的java程序规则,和常用数据类型,其中侧重说了数组的一些...原创 2020-01-05 13:02:48 · 10636 阅读 · 11 评论 -
JAVA的一般输入输出 和 快速输入输出 (BufferedReader&BufferedWrite)
JAVA基础知识和常用算法合集:https://blog.csdn.net/GD_ONE/article/details/104061907目录1.主类的命名必须是Main2.输入输出:2.1输入:(1)使用Scanner类进行输入(2) hasNext()方法2.2输出3快速输入输出3.1使用StreamTokenizer 和 PrintW...原创 2019-12-10 22:56:48 · 27943 阅读 · 26 评论 -
JAVA基础:类和对象
类是具有共同特征的对象的集合,对象是类的实例。比如 人是一个类 张三是其中一个对象。类中包含方法和属性,方法可以理解为人的行为方式,属性可以理解为人的状态。方法操作对象内部状态的改变,对象之间的相互调用也通过方法来完成。以人为例创建一个类,并直接创建张三对象,构造方法则为其行为,name则是其属性:public class Person{ String name;...原创 2019-10-08 17:18:31 · 608 阅读 · 2 评论