Java面向对象-接口

摘要: 1. 接口 接口是抽象方法和常量值的定义的集合,是一种特殊的抽象类 接口内所有的方法都是抽象方法,且都是public的! 接口 天生是用来被继承的,而不是用来被实例化的 1) 定义接口 <modifier> interface <name>{ } 2) 实现接口 注意,因为接口内方法都是public 阅读全文
posted @ 2021-06-30 18:37 cStream 阅读(78) 评论(0) 推荐(0)

Java面向对象-抽象类 abstract class

摘要: 只定义了类中的方法,没有实现方法的细节 注意语法:没有方法体,方法名后就直接加个分号就结束了; 当类中有抽象方法时,这个类必须被定义成抽象类。 当定义了父类中有抽象方法,子类在继承父类后,必须要重写一下这个抽象方法,不然就会报错: 抽象类不能被实例化,必须实例化他的子类,否则就会报错 代码: 抽象类 阅读全文
posted @ 2021-06-30 18:31 cStream 阅读(59) 评论(0) 推荐(0)

Java面向对象-单例(Singleton)设计模式

摘要: 单例模式参考文档:https://www.runoob.com/design-pattern/singleton-pattern.html 单例模式是static的应用场景,指:一个类只能产生一个实例 单例模式的应用场景:工具类一般都是单例模式 引申:什么是实例:https://blog.csdn. 阅读全文
posted @ 2021-06-30 18:27 cStream 阅读(90) 评论(0) 推荐(0)

Java面向对象-多态Polymorphism

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

Java面向对象-继承(重载overload)

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

Java面向对象-继承(extends)

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

Java面向对象-封装

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

Java面向对象-类与对象-构造器

摘要: 1) 构造器的声明 构造器名称必须和类名保持一致! 一个类可以有多个构造器,但是这些构造器的参数列表必须不同! 构造器包括 无参构造器和有参构造器;当没有定义有参构造器时,系统会默认创建无参构造器。 public class Mobile { public String brand; public 阅读全文
posted @ 2021-06-30 17:50 cStream 阅读(60) 评论(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 阅读(183) 评论(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 阅读(182) 评论(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 阅读(278) 评论(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 阅读(153) 评论(0) 推荐(0)

LeetCode1636-数组频率排序

摘要: //给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。如果有多个值的频率相同,请你按照数值本身将它们 降序 排序。////请你返回排序后的数组。这是个字节的算法面试题 import java.util.*; //给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序 阅读全文
posted @ 2021-06-30 10:57 cStream 阅读(148) 评论(0) 推荐(0)

LeetCode0461-汉明距离

摘要: //两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。////给你两个整数 x 和 y,计算并返回它们之间的汉明距离。 //方法: 直接两个数异或,统计异或结果中1的个数 public class Num461_hammingDistance { public static i 阅读全文
posted @ 2021-06-30 10:55 cStream 阅读(41) 评论(0) 推荐(0)

LeetCode0338-计算数字对应二进制中1的数目

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

LeetCode0234-是否为回文联表

摘要: 判断链表是否为回文链表 public class Num234_palindromeLinkedList { //方法一:判断是否为环形链表 public boolean isPalindrome(ListNode head) { ArrayList<Integer> a = new ArrayLi 阅读全文
posted @ 2021-06-30 10:39 cStream 阅读(47) 评论(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 阅读(36) 评论(0) 推荐(0)

LeetCode0206-链表反转

摘要: //给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。https://leetcode-cn.com/problems/reverse-linked-list/ public class Num206_reverseLinkedList { // 自己用的双指针法,还有一种递归法,递 阅读全文
posted @ 2021-06-30 10:34 cStream 阅读(50) 评论(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 阅读(52) 评论(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 阅读(111) 评论(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 阅读(54) 评论(0) 推荐(0)

LeetCode0141-判断链表是否有环

摘要: /** * 环形链表 * 给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 阅读全文
posted @ 2021-06-30 10:28 cStream 阅读(70) 评论(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 阅读(65) 评论(0) 推荐(0)

LeetCode0015-三数之和

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

LeetCode0011-装水最多的容器

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