06 2021 档案

Java面向对象-接口
摘要:1. 接口 接口是抽象方法和常量值的定义的集合,是一种特殊的抽象类 接口内所有的方法都是抽象方法,且都是public的! 接口 天生是用来被继承的,而不是用来被实例化的 1) 定义接口 <modifier> interface <name>{ } 2) 实现接口 注意,因为接口内方法都是public 阅读全文

posted @ 2021-06-30 18:37 cStream 阅读(72) 评论(0) 推荐(0)

Java面向对象-抽象类 abstract class
摘要:只定义了类中的方法,没有实现方法的细节 注意语法:没有方法体,方法名后就直接加个分号就结束了; 当类中有抽象方法时,这个类必须被定义成抽象类。 当定义了父类中有抽象方法,子类在继承父类后,必须要重写一下这个抽象方法,不然就会报错: 抽象类不能被实例化,必须实例化他的子类,否则就会报错 代码: 抽象类 阅读全文

posted @ 2021-06-30 18:31 cStream 阅读(51) 评论(0) 推荐(0)

Java面向对象-单例(Singleton)设计模式
摘要:单例模式参考文档:https://www.runoob.com/design-pattern/singleton-pattern.html 单例模式是static的应用场景,指:一个类只能产生一个实例 单例模式的应用场景:工具类一般都是单例模式 引申:什么是实例:https://blog.csdn. 阅读全文

posted @ 2021-06-30 18:27 cStream 阅读(81) 评论(0) 推荐(0)

Java面向对象-多态Polymorphism
摘要:1) 引用多态 引用多态:将父类引用指向到子类对象上 2) 方法多态 创建父类本类对象时,调用的是本类的方法; 创建子类对象时,调用的方法是子类重写的方法或者继承的方法。 如:java集合框架中的算法,如:搜索和排序,都被称为多态,因为相同的方法可以再相似的接口上有不同的实现。引申:java集合 父 阅读全文

posted @ 2021-06-30 18:22 cStream 阅读(51) 评论(0) 推荐(0)

Java面向对象-继承(重载overload)
摘要:1. 面向对象的三大特性之二继承(重载overload) 1) 方法的重载 重载:在同一个类中,方法名相同,参数类型或者参数个数不同 重载的方法可以相互调用,但是不能同时互相调用,会死循环 2) 构造器的重载 除了方法外,类的构造器也可以实现重载 类的构造器可以相互调用,调用方式是使用this关键字 阅读全文

posted @ 2021-06-30 18:18 cStream 阅读(138) 评论(0) 推荐(0)

Java面向对象-继承(extends)
摘要:1. 面向对象的三大特性之二-继承(extends) 注意:构造器不能被继承! 父类的Private属性也不能被继承 注意!如果父类的构造函数是有参的,没有单独写无参构造函数(有有参的系统就不会自己再搞个无参的了),则子类必须手写有参构造方法,否则会报错,即父类构造器有参时,子类不能使用默认无参构造 阅读全文

posted @ 2021-06-30 17:59 cStream 阅读(315) 评论(0) 推荐(0)

Java面向对象-封装
摘要:1) 什么是封装 类的信息隐藏在类的内部,不允许外部程序直接访问,只能通过规定的方法去访问类中的属性 可以增加系统的安全性 2) 封装的实现步骤 a) 对类的属性设置访问控制-修饰符 b) 创建特定的方法:getter setter(不是单纯地指get、set方法,是指所有通用的获取、设置属性的方法 阅读全文

posted @ 2021-06-30 17:53 cStream 阅读(51) 评论(0) 推荐(0)

Java面向对象-类与对象-构造器
摘要:1) 构造器的声明 构造器名称必须和类名保持一致! 一个类可以有多个构造器,但是这些构造器的参数列表必须不同! 构造器包括 无参构造器和有参构造器;当没有定义有参构造器时,系统会默认创建无参构造器。 public class Mobile { public String brand; public 阅读全文

posted @ 2021-06-30 17:50 cStream 阅读(50) 评论(0) 推荐(0)

Java基础-TreeMap
摘要:TreeMap常用方法 import java.util.*; public class TreeMapTest { public static void main(String[] agrs){ //创建TreeMap对象: TreeMap<String,Integer> treeMap = ne 阅读全文

posted @ 2021-06-30 11:07 cStream 阅读(176) 评论(0) 推荐(0)

读取路径下文件内容并存放数据库
摘要:读取路径下文件内容并放在数据库中 import org.springframework.jdbc.core.JdbcTemplate; import java.io.*; import java.util.HashMap; public class PathReaderTest { public s 阅读全文

posted @ 2021-06-30 11:02 cStream 阅读(174) 评论(0) 推荐(0)

对比两个文件,并输出相等的部分
摘要://比较两个文件,其中A文件每行有三个关键字,A1\A2\A3,B文件每行有2个关键字,B1\B2// 找出A2=B2的那一行,并输出该行的 A1~B2的值(输出到一个新文件中) import java.io.*; import java.util.HashMap; //比较两个文件,其中A文件每行 阅读全文

posted @ 2021-06-30 11:00 cStream 阅读(268) 评论(0) 推荐(0)

统计一个文件夹中出现次数最多的单词
摘要:统计一个文件夹中出现次数最多的单词 import java.io.*; import java.util.HashMap; import java.util.Scanner; import java.util.Set; import java.util.TreeMap; //统计一个文件夹中出现次数 阅读全文

posted @ 2021-06-30 10:59 cStream 阅读(137) 评论(0) 推荐(0)

LeetCode1636-数组频率排序
摘要://给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。如果有多个值的频率相同,请你按照数值本身将它们 降序 排序。////请你返回排序后的数组。这是个字节的算法面试题 import java.util.*; //给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序 阅读全文

posted @ 2021-06-30 10:57 cStream 阅读(142) 评论(0) 推荐(0)

LeetCode0461-汉明距离
摘要://两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。////给你两个整数 x 和 y,计算并返回它们之间的汉明距离。 //方法: 直接两个数异或,统计异或结果中1的个数 public class Num461_hammingDistance { public static i 阅读全文

posted @ 2021-06-30 10:55 cStream 阅读(29) 评论(0) 推荐(0)

LeetCode0338-计算数字对应二进制中1的数目
摘要://给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。 //方法一:对于所有的数字,只有两类: // //奇数:二进制表示中,奇数一定比前面那个偶数多一个 1,因为多的就是最低位的 1。 //偶数:二进制表示中,偶数中 阅读全文

posted @ 2021-06-30 10:41 cStream 阅读(138) 评论(0) 推荐(0)

LeetCode0234-是否为回文联表
摘要:判断链表是否为回文链表 public class Num234_palindromeLinkedList { //方法一:判断是否为环形链表 public boolean isPalindrome(ListNode head) { ArrayList<Integer> a = new ArrayLi 阅读全文

posted @ 2021-06-30 10:39 cStream 阅读(36) 评论(0) 推荐(0)

LeetCode0232-两个栈实现一个队列
摘要:两个栈实现一个队列 package codepackage; import java.util.Deque; import java.util.LinkedList; import java.util.Stack; public class Num232_stackAsQueue { Deque<I 阅读全文

posted @ 2021-06-30 10:35 cStream 阅读(31) 评论(0) 推荐(0)

LeetCode0206-链表反转
摘要://给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。https://leetcode-cn.com/problems/reverse-linked-list/ public class Num206_reverseLinkedList { // 自己用的双指针法,还有一种递归法,递 阅读全文

posted @ 2021-06-30 10:34 cStream 阅读(35) 评论(0) 推荐(0)

LeetCode0165-版本号对比
摘要:给两个版本号,返回版本号的对比结果 public class Num165_compareversion { public static int compareVersion(String version1, String version2) { String[] s1 = version1.spl 阅读全文

posted @ 2021-06-30 10:32 cStream 阅读(41) 评论(0) 推荐(0)

LeetCode0166-两个链表相交的点
摘要:/** * 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 * */ import java.util.HashSet; import java.util.List; public class Num160_mi 阅读全文

posted @ 2021-06-30 10:31 cStream 阅读(105) 评论(0) 推荐(0)

LeetCode0155-最小栈
摘要:用两个栈实现最小栈功能 package codepackage; import java.util.Deque; import java.util.LinkedList; public class Num155_minStack { LinkedList<Integer> minlist; Link 阅读全文

posted @ 2021-06-30 10:29 cStream 阅读(44) 评论(0) 推荐(0)

LeetCode0141-判断链表是否有环
摘要:/** * 环形链表 * 给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 阅读全文

posted @ 2021-06-30 10:28 cStream 阅读(59) 评论(0) 推荐(0)

LeetCode0094-二叉树的遍历
摘要:迭代算法实现二叉树的遍历 //实现二叉树的前序、中序、后序遍历 import java.util.ArrayList; import java.util.List; import java.util.Stack; class TreeNode { int val; TreeNode left; Tr 阅读全文

posted @ 2021-06-30 10:26 cStream 阅读(49) 评论(0) 推荐(0)

LeetCode0015-三数之和
摘要:给一个数组,求三个数之和等于0的组合,需要去重. 字节一面面试题。 public class Num015_3sum { //自己写的三指针,没有实现去重功能,没有对初始情况:没有三个数,或者最小值都>0做判断 public List<List<Integer>> threeSum0(int[] n 阅读全文

posted @ 2021-06-30 10:22 cStream 阅读(66) 评论(0) 推荐(0)

LeetCode0011-装水最多的容器
摘要:///给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。////来源:力扣(LeetCode)// 阅读全文

posted @ 2021-06-30 10:20 cStream 阅读(67) 评论(0) 推荐(0)

LeetCode0008-string转int
摘要:同样是一道美团测开算法题,重点考察边界值、异常场景的覆盖(白盒测试思维) 考点: 异常、特殊场景的覆盖,如:特殊字符、空格、int范围 char转int //字符串转整数 //https://leetcode-cn.com/problems/string-to-integer-atoi/ //重点考 阅读全文

posted @ 2021-06-29 22:45 cStream 阅读(84) 评论(0) 推荐(0)

LeetCode0125-是否为回文串
摘要:这道题在美团算法中碰到,考察重点为:特殊字符、大小写等异常场景的覆盖(测试思维、白盒代码覆盖),算是一道测开面试的经典题目,算法题目为easy,测开角度考察点:五颗星。 自己看到题目后,只是觉得很简单,但是其实只做了基本的正常场景的逻辑覆盖,没有考虑到异常值的覆盖场景。 \\TODO: s==nul 阅读全文

posted @ 2021-06-29 22:42 cStream 阅读(63) 评论(0) 推荐(0)

LeetCode0005-最长回文子串
摘要:import java.util.HashMap; //方法一:暴力破解法 public class Num005_longestPalindromicSubstring { public static String longestPalindrome(String s) { int n = s.l 阅读全文

posted @ 2021-06-29 22:35 cStream 阅读(47) 评论(0) 推荐(0)

LeetCode0003-最长子串
摘要:字节:一面、二面算法题//https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/// // 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。//自己卡在了: 没有想到用hashs 阅读全文

posted @ 2021-06-29 22:33 cStream 阅读(32) 评论(0) 推荐(0)

LeetCode0002-链表相加
摘要://给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。////请你将两个数相加,并以相同形式返回一个表示和的链表。////你可以假设除了数字 0 之外,这两个数都不会以 0 开头。////来源:力扣(LeetCode)//链接:htt 阅读全文

posted @ 2021-06-29 22:31 cStream 阅读(75) 评论(0) 推荐(0)

LeetCode0001-两数之和等于目标值
摘要://给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。////你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。////你可以按任意顺序返回答案。////来源:力扣(Leet 阅读全文

posted @ 2021-06-29 22:26 cStream 阅读(108) 评论(0) 推荐(0)

Java基础-一维数组
摘要:一维数组Array 数组参考文档:https://www.cnblogs.com/yinzhengjie/p/8719728.html 数组内存储的都是相同的数据类型 数组的基础内容 数组的动态、静态初始化 静态的数组初始化—》在数组定义时,就赋予了初始值 数组的默认初始化:数组是引用类型,它的元素 阅读全文

posted @ 2021-06-29 22:20 cStream 阅读(70) 评论(0) 推荐(0)

Java基础-二维数组
摘要:二维数组的基本遍历方法 import java.util.Arrays; public class ArraysTest { static void arraystest(int[][] arrs) { for (int i = 0; i < arrs.length; i++) { for (int 阅读全文

posted @ 2021-06-29 22:04 cStream 阅读(72) 评论(0) 推荐(0)

Java基础-运算符之算数运算符
摘要:算术运算符: + - * / % ++ -- public class MathOperator { public static void main(String[] args){ int i =16,j=3; double db1=17; double db2=4; System.out.prin 阅读全文

posted @ 2021-06-29 21:57 cStream 阅读(66) 评论(0) 推荐(0)

Java基础-运算符之布尔逻辑运算符
摘要:布尔逻辑运算符:返回一个boolean结果 有:! 非、& 与、| 或、^异或 、&&短路与、 || 短路或 短路与:左边为false,右边就不执行 短路或:左边为true,右边就不执行 public static void main(String[] args) { int i = 10; int 阅读全文

posted @ 2021-06-29 21:54 cStream 阅读(758) 评论(0) 推荐(0)

Java基础-运算符之位运算符
摘要:位运算符包含: & 与、| 或、^ 异或 、~ 取反、>> 右移、<< 左移、>>> 参考地址:https://www.cnblogs.com/findbetterme/p/10787118.html 1<<31 == Integer.MIN_VALUE 原因:https://www.jianshu 阅读全文

posted @ 2021-06-29 21:49 cStream 阅读(50) 评论(0) 推荐(0)

Java基础-分支语句
摘要:分支语句包含: if-else、swith语句 代码:switch语句的使用 public class SwtichTest { public static void main(String[] args){ String gender = "emale"; //记得中括号 switch (gend 阅读全文

posted @ 2021-06-29 21:42 cStream 阅读(93) 评论(0) 推荐(0)

Java基础-循环语句
摘要:代码知识点: 基础的for循环 break+label配合使用,可跳出指定循环; Continue+标签,也可以跳出指定循环 public static void testbreak2(){ int sum1=0; Outer: for(int a=0;a<100;a++){ sum1 +=a; S 阅读全文

posted @ 2021-06-29 21:36 cStream 阅读(85) 评论(0) 推荐(0)

Java基础-变量
摘要:java变量的基础内容,定义,命名规范,局部变量,全局变量 1) 变量及其作用范围 局部变量 局部变量是定义在类的方法内或代码块内 ; 局部变量使用前必须初始化, 局部变量只在定义它的方法体或代码块内有效; 全局变量(成员变量) 全局变量是 一个勒种,既不在方法体内也不再程序块内定义的变量 全局变量 阅读全文

posted @ 2021-06-29 21:23 cStream 阅读(86) 评论(0) 推荐(0)

Java基础-数据类型的转换_charToInt
摘要:char类型转换为int类型 在面试中碰到一道题:把一串字符串转换为数字并输出,其中一个关键点便是需要把char类型的数转化为int类型。 import static java.lang.Character.getType; import static java.lang.Character.val 阅读全文

posted @ 2021-06-29 21:19 cStream 阅读(232) 评论(0) 推荐(0)

Java基础-数据类型
摘要:Java有八大基础数据类型, 以下为基础数据类型的相关代码 public class TestDataType { //单纯声明变量的时候,不需要用static来定义,若变量需要引用,比如指定static属性,否则会报错 static Boolean bin= false; static int a 阅读全文

posted @ 2021-06-29 21:15 cStream 阅读(53) 评论(0) 推荐(0)