摘要:1. 接口 接口是抽象方法和常量值的定义的集合,是一种特殊的抽象类 接口内所有的方法都是抽象方法,且都是public的! 接口 天生是用来被继承的,而不是用来被实例化的 1) 定义接口 <modifier> interface <name>{ } 2) 实现接口 注意,因为接口内方法都是public
阅读全文
摘要:只定义了类中的方法,没有实现方法的细节 注意语法:没有方法体,方法名后就直接加个分号就结束了; 当类中有抽象方法时,这个类必须被定义成抽象类。 当定义了父类中有抽象方法,子类在继承父类后,必须要重写一下这个抽象方法,不然就会报错: 抽象类不能被实例化,必须实例化他的子类,否则就会报错 代码: 抽象类
阅读全文
摘要:单例模式参考文档:https://www.runoob.com/design-pattern/singleton-pattern.html 单例模式是static的应用场景,指:一个类只能产生一个实例 单例模式的应用场景:工具类一般都是单例模式 引申:什么是实例:https://blog.csdn.
阅读全文
摘要:1) 引用多态 引用多态:将父类引用指向到子类对象上 2) 方法多态 创建父类本类对象时,调用的是本类的方法; 创建子类对象时,调用的方法是子类重写的方法或者继承的方法。 如:java集合框架中的算法,如:搜索和排序,都被称为多态,因为相同的方法可以再相似的接口上有不同的实现。引申:java集合 父
阅读全文
摘要:1. 面向对象的三大特性之二继承(重载overload) 1) 方法的重载 重载:在同一个类中,方法名相同,参数类型或者参数个数不同 重载的方法可以相互调用,但是不能同时互相调用,会死循环 2) 构造器的重载 除了方法外,类的构造器也可以实现重载 类的构造器可以相互调用,调用方式是使用this关键字
阅读全文
摘要:1. 面向对象的三大特性之二-继承(extends) 注意:构造器不能被继承! 父类的Private属性也不能被继承 注意!如果父类的构造函数是有参的,没有单独写无参构造函数(有有参的系统就不会自己再搞个无参的了),则子类必须手写有参构造方法,否则会报错,即父类构造器有参时,子类不能使用默认无参构造
阅读全文
摘要:1) 什么是封装 类的信息隐藏在类的内部,不允许外部程序直接访问,只能通过规定的方法去访问类中的属性 可以增加系统的安全性 2) 封装的实现步骤 a) 对类的属性设置访问控制-修饰符 b) 创建特定的方法:getter setter(不是单纯地指get、set方法,是指所有通用的获取、设置属性的方法
阅读全文
摘要:1) 构造器的声明 构造器名称必须和类名保持一致! 一个类可以有多个构造器,但是这些构造器的参数列表必须不同! 构造器包括 无参构造器和有参构造器;当没有定义有参构造器时,系统会默认创建无参构造器。 public class Mobile { public String brand; public
阅读全文
摘要:TreeMap常用方法 import java.util.*; public class TreeMapTest { public static void main(String[] agrs){ //创建TreeMap对象: TreeMap<String,Integer> treeMap = ne
阅读全文
摘要:读取路径下文件内容并放在数据库中 import org.springframework.jdbc.core.JdbcTemplate; import java.io.*; import java.util.HashMap; public class PathReaderTest { public s
阅读全文
摘要://比较两个文件,其中A文件每行有三个关键字,A1\A2\A3,B文件每行有2个关键字,B1\B2// 找出A2=B2的那一行,并输出该行的 A1~B2的值(输出到一个新文件中) import java.io.*; import java.util.HashMap; //比较两个文件,其中A文件每行
阅读全文
摘要:统计一个文件夹中出现次数最多的单词 import java.io.*; import java.util.HashMap; import java.util.Scanner; import java.util.Set; import java.util.TreeMap; //统计一个文件夹中出现次数
阅读全文
摘要://给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。如果有多个值的频率相同,请你按照数值本身将它们 降序 排序。////请你返回排序后的数组。这是个字节的算法面试题 import java.util.*; //给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序
阅读全文
摘要://两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。////给你两个整数 x 和 y,计算并返回它们之间的汉明距离。 //方法: 直接两个数异或,统计异或结果中1的个数 public class Num461_hammingDistance { public static i
阅读全文
摘要://给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。 //方法一:对于所有的数字,只有两类: // //奇数:二进制表示中,奇数一定比前面那个偶数多一个 1,因为多的就是最低位的 1。 //偶数:二进制表示中,偶数中
阅读全文
摘要:判断链表是否为回文链表 public class Num234_palindromeLinkedList { //方法一:判断是否为环形链表 public boolean isPalindrome(ListNode head) { ArrayList<Integer> a = new ArrayLi
阅读全文
摘要:两个栈实现一个队列 package codepackage; import java.util.Deque; import java.util.LinkedList; import java.util.Stack; public class Num232_stackAsQueue { Deque<I
阅读全文
摘要://给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。https://leetcode-cn.com/problems/reverse-linked-list/ public class Num206_reverseLinkedList { // 自己用的双指针法,还有一种递归法,递
阅读全文
摘要:给两个版本号,返回版本号的对比结果 public class Num165_compareversion { public static int compareVersion(String version1, String version2) { String[] s1 = version1.spl
阅读全文
摘要:/** * 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 * */ import java.util.HashSet; import java.util.List; public class Num160_mi
阅读全文
摘要:用两个栈实现最小栈功能 package codepackage; import java.util.Deque; import java.util.LinkedList; public class Num155_minStack { LinkedList<Integer> minlist; Link
阅读全文
摘要:/** * 环形链表 * 给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos
阅读全文
摘要:迭代算法实现二叉树的遍历 //实现二叉树的前序、中序、后序遍历 import java.util.ArrayList; import java.util.List; import java.util.Stack; class TreeNode { int val; TreeNode left; Tr
阅读全文
摘要:给一个数组,求三个数之和等于0的组合,需要去重. 字节一面面试题。 public class Num015_3sum { //自己写的三指针,没有实现去重功能,没有对初始情况:没有三个数,或者最小值都>0做判断 public List<List<Integer>> threeSum0(int[] n
阅读全文
摘要:///给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。////来源:力扣(LeetCode)//
阅读全文
摘要:同样是一道美团测开算法题,重点考察边界值、异常场景的覆盖(白盒测试思维) 考点: 异常、特殊场景的覆盖,如:特殊字符、空格、int范围 char转int //字符串转整数 //https://leetcode-cn.com/problems/string-to-integer-atoi/ //重点考
阅读全文
摘要:这道题在美团算法中碰到,考察重点为:特殊字符、大小写等异常场景的覆盖(测试思维、白盒代码覆盖),算是一道测开面试的经典题目,算法题目为easy,测开角度考察点:五颗星。 自己看到题目后,只是觉得很简单,但是其实只做了基本的正常场景的逻辑覆盖,没有考虑到异常值的覆盖场景。 \\TODO: s==nul
阅读全文
摘要:import java.util.HashMap; //方法一:暴力破解法 public class Num005_longestPalindromicSubstring { public static String longestPalindrome(String s) { int n = s.l
阅读全文
摘要:字节:一面、二面算法题//https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/// // 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。//自己卡在了: 没有想到用hashs
阅读全文
摘要://给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。////请你将两个数相加,并以相同形式返回一个表示和的链表。////你可以假设除了数字 0 之外,这两个数都不会以 0 开头。////来源:力扣(LeetCode)//链接:htt
阅读全文
摘要://给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。////你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。////你可以按任意顺序返回答案。////来源:力扣(Leet
阅读全文
摘要:一维数组Array 数组参考文档:https://www.cnblogs.com/yinzhengjie/p/8719728.html 数组内存储的都是相同的数据类型 数组的基础内容 数组的动态、静态初始化 静态的数组初始化—》在数组定义时,就赋予了初始值 数组的默认初始化:数组是引用类型,它的元素
阅读全文
摘要:二维数组的基本遍历方法 import java.util.Arrays; public class ArraysTest { static void arraystest(int[][] arrs) { for (int i = 0; i < arrs.length; i++) { for (int
阅读全文
摘要:算术运算符: + - * / % ++ -- public class MathOperator { public static void main(String[] args){ int i =16,j=3; double db1=17; double db2=4; System.out.prin
阅读全文
摘要:布尔逻辑运算符:返回一个boolean结果 有:! 非、& 与、| 或、^异或 、&&短路与、 || 短路或 短路与:左边为false,右边就不执行 短路或:左边为true,右边就不执行 public static void main(String[] args) { int i = 10; int
阅读全文
摘要:位运算符包含: & 与、| 或、^ 异或 、~ 取反、>> 右移、<< 左移、>>> 参考地址:https://www.cnblogs.com/findbetterme/p/10787118.html 1<<31 == Integer.MIN_VALUE 原因:https://www.jianshu
阅读全文
摘要:分支语句包含: if-else、swith语句 代码:switch语句的使用 public class SwtichTest { public static void main(String[] args){ String gender = "emale"; //记得中括号 switch (gend
阅读全文
摘要:代码知识点: 基础的for循环 break+label配合使用,可跳出指定循环; Continue+标签,也可以跳出指定循环 public static void testbreak2(){ int sum1=0; Outer: for(int a=0;a<100;a++){ sum1 +=a; S
阅读全文
摘要:java变量的基础内容,定义,命名规范,局部变量,全局变量 1) 变量及其作用范围 局部变量 局部变量是定义在类的方法内或代码块内 ; 局部变量使用前必须初始化, 局部变量只在定义它的方法体或代码块内有效; 全局变量(成员变量) 全局变量是 一个勒种,既不在方法体内也不再程序块内定义的变量 全局变量
阅读全文
摘要:char类型转换为int类型 在面试中碰到一道题:把一串字符串转换为数字并输出,其中一个关键点便是需要把char类型的数转化为int类型。 import static java.lang.Character.getType; import static java.lang.Character.val
阅读全文
摘要:Java有八大基础数据类型, 以下为基础数据类型的相关代码 public class TestDataType { //单纯声明变量的时候,不需要用static来定义,若变量需要引用,比如指定static属性,否则会报错 static Boolean bin= false; static int a
阅读全文