
Java
java相关
厨樱
所有文章均为解决实际工作中的问题后的记录,若有同样的办法未解决问题,请先查看问题原因是否相同,欢迎讨论。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Java】public protected 无修饰符 private区别
作用域public,private,protected,以及不写时的区别(不写为default)区别如下 类内部 本包 子类 外部包 public √ √ √ √ protected √ √ √ × default √ √ × × private √ × × × ...原创 2020-06-27 20:24:52 · 248 阅读 · 0 评论 -
【基础笔记】各种排序算法及时间空间复杂度对比 Java
1. 冒泡排序public static void main(String[] args) { // 主方法 int[] arr = { 1, 100, 35, 29, 0, -31, -88, 97, 4, 7 }; bubbleSort(arr); System.out.println(Arrays.toString(arr)); }/** * 冒泡排序算法: 从...原创 2020-04-19 21:50:52 · 298 阅读 · 0 评论 -
【基础笔记】Java基础知识汇总
1. 标识符规则:1) 标识符由字母、数字、下划线“_”、美元符号“$”或者人民币符号“¥”组成,并且首字母不能是数字。2) 不能把关键字和保留字作为标识符。3) 标识符没有长度限制。4) 标识符对大小写敏感。...原创 2020-04-19 15:42:14 · 151 阅读 · 0 评论 -
【基础笔记】各种进制转换 Java
int value = 233;Integer.toBinaryString(value);//转为二进制Integer.toHexString(value);//转为十六进制Integer.toOctalString(value);//转为八进制Integer.toString(value,16);//通用方法,第2个参数为选择的进制 包装类型Long中,也存在和以上相同的方法。...原创 2020-04-13 22:04:39 · 142 阅读 · 0 评论 -
【基础笔记】字符串解析为整数的两种方法及各自优缺点 Java
将字符串解析为整数有两种方法方法一:通常使用Integer.parseInt(String)方法将字符串解析为整数。但如果字符串中包含有其它字符,该方法将不能正常工作。方法二:java.text.NumberFormat类中的方法能够解析字符串中的部分数字字符,返回一个Number类实例:public Number parse(String source) //从开始的数字字符开...原创 2020-04-13 21:49:54 · 1016 阅读 · 0 评论 -
【基础笔记】接口特点总结
接口的特点:1,一个类实现了接口,那么必须实现接口中的所有方法;2,接口中的方法默认是public abstract的,不能使用其它的修饰符。接口实现类中的方法只能使用public修饰。3,接口中如果定义了成员变量,那么它默认是public static final的。4,接口不是类,不能实例化;但可以声明接口变量。5,可以使用instanceof检测一个对象是否实现了某个接口;6,一...原创 2020-04-13 20:52:49 · 369 阅读 · 1 评论 -
【基础笔记】日期时间格式化 Date和String相互转换 Java
借用java.text.SimpleDateFormat类,实现Date类型和String的相互转换1. String转java.util.Date //sdf参数格式,必须与strDate格式相对应,否则抛出ParseException SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); St...原创 2020-04-13 20:41:22 · 390 阅读 · 0 评论 -
【基础笔记】多线程的同步与协作 Java
多线程的同步多线程同步控制机制的目的是保证同一时刻只有一个线程访问共享数据。java中,要实现多线程的同步,可使用同步方法和同步代码块两种机制。1. 同步方法使用synchronized修饰的方法称为同步方法,它意味着同一时刻该方法只能被一个线程执行,其它想执行该方法的线程必须等待(处于不可运行状态),直到获得同步锁之后才能执行(处于可运行状态)。public synchronized...原创 2020-04-13 16:26:42 · 192 阅读 · 0 评论 -
【基础笔记】多线程实现方法 Java
方法一通过扩展Thread类实现子线程:1,创建Thread类的子类。可调用父类的构造器Thread(String name)为新线程指定名称。2,在子类中重写run()方法。3,生成子类的对象,并且调用start()方法启动新线程。/** * 新建并启动一个/两个子线程,分别输出从1到20的自然数 */public class Test { public static v...原创 2020-04-13 14:03:21 · 120 阅读 · 0 评论 -
【基础笔记】进程和线程的关系 Java
进程:当一个程序开始运行时,它对应一个进程。进程包括运行中的程序以及它所使用的内存和其它系统资源。进程由程序、数据和PCB(Process Control Block)组成,是操作系统资源分配和调度的独立单位。线程:为了提高进程的运行效率、改善进程内资源利用率而引入的机制。线程是进程内的一个相对独立的指令流,它也可被操作系统独立调度,每个指令流都称为一个线程。进程和线程的区别:1. 每...原创 2020-04-13 13:38:30 · 158 阅读 · 0 评论 -
【基础笔记】unchecked异常和checked异常 Java
java中,将所有派生于Error类和RuntimeException类的异常称为unchecked异常(蓝色部分);其它的异常称为checked异常(粉色部分)。程序中不需要处理Error类和RuntimeException类及其子类的异常,而所有的checked异常必须进行处理,否则会报编译错误。注意:finally永远会被执行。try语句可以只有finally子句,而没有ca...原创 2020-04-06 21:04:34 · 442 阅读 · 0 评论 -
【基础笔记】各种内部类 Java
本文涉及到以下内部类以下概念:内部类(也称为实例内部类)、局部内部类、匿名内部类、匿名局部内部类、继承其他类的匿名内部类、静态内部类。1.内部类:定义在另外一个类中的类特点:(1) 内部类可以定义为private的,那么同一个包中的其它类看不到该类;(2) 内部类中的方法不但可以访问自己内部的域,还可以访问外围类中的所有域、包括私有域(一般定义内部类,是为了该用途);若内部类和外部...原创 2020-04-06 16:53:12 · 136 阅读 · 0 评论 -
【基础笔记】Java程序初始化的顺序、对象构造过程
对象的构造过程:分配内存空间 实例域被自动初始化为默认值 如果有显示初始化代码,则执行该代码(如:调用方法赋值) 静态初始化块被执行 实例初始化块被执行 构造器被执行如果类中同时具有静态域和静态初始化块,将按照在它们类中出现的顺序被处理。Java程序初始化的顺序父类静态变量 父类静态代码块 子类静态变量 子类静态代码块 父类非静态变量 父类非静态代码块 父类构造...原创 2020-03-30 22:43:01 · 138 阅读 · 0 评论 -
【基础笔记】值传递和引用传递 Java
值传递:方法调用时,实际参数把它的值传递给对应的形式参数,函数接收的是原始值的一个copy,此时内存中存在两个相等的基本类型,即实际参数和形式参数,后面方法中的操作都是对形参这个值的修改,不影响实际参数的值。引用传递:也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,函数接收的是原始值的内存地址;在方法执行中,形参和实参内容相同,指向同一块内存...转载 2020-03-30 22:34:32 · 118 阅读 · 0 评论 -
【基础笔记】Arrays.asList()踩的坑!
本次踩的坑,是出现在转基本类型的数组时。错误用法一:int[] arr = {1,2,3};List list = Arrays.asList(arr);System.out.println(list.size());//输出结果:1Arrays.asList()方法,返回的是java.util.Arrays.ArrayList,而不是java.util.ArrayList。...原创 2020-03-29 16:42:08 · 395 阅读 · 0 评论 -
【基础笔记】格式化字符串String.format() Java
String.format(String format,Object... args)方法和System.out.printf(String format, Object... args)方法都可以按照指定的格式输出。参数format接收一个格式控制字符串,该字符串可以包含多个以%开始的格式说明符。例如:int count =3;//%d代表是用整数替换该占位符,%03d代表该数字...原创 2020-03-29 15:59:10 · 325 阅读 · 0 评论 -
【基础笔记】借用JDK自带的方法,实现字符串反转 Java
字符串反转属于Java的基本操作,可以自己写代码实现。为了方便的话,可以借用现有的一些jdk自带的方法实现。方法一:借用静态方法Collections.reverse()实现String s = "abcdefg";String[] temp = s.split("");List<String> list = Arrays.asList(temp);Collection...原创 2020-03-29 15:36:50 · 180 阅读 · 0 评论 -
Java实现单向链表
具体要求:设计学生列表类(StudentList),该类内部使用单向链表存放多个学生信息。同时,该类提供增删改查方法进行学生信息的管理。节点类(Node);学生类(StudentInfo)学生集合类中提供的方法:boolean addData(StudentInfo info)StudentInfo removeData(int studentId)boolean changeDa...原创 2020-03-28 14:19:48 · 182 阅读 · 0 评论 -
【基础笔记】List排序 Java
1、先来个简单的,上代码import java.util.ArrayList;import java.util.Collections;import java.util.List;public class sort { public static void main(String[] args) { List<Integer> list = new ArrayLis...原创 2020-03-26 21:11:23 · 158 阅读 · 0 评论 -
List的交集、去重复并集、差集 Java
需求 list的方法 说明 备注 交集 listA.retainAll(listB) listA内容变为listA和listB都存在的对象 listB不变 差集 listA.removeAll(listB) listA中存在的listB的内容去重 listB不变 去重复并集 listA....原创 2020-03-25 22:54:04 · 166 阅读 · 0 评论 -
Collection和Collections的区别 Java
区别:1、java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有List与Set。2、Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,...原创 2020-03-25 22:42:51 · 2749 阅读 · 1 评论 -
Java各种集合判断是否存在某个元素--contains()
1.List的contains(obj)方法 实际上,List调用contains(Object obj)方法时,会遍历List中的每一个元素,然后再调用每个元素的equals()方法去跟contains()方法中的参数进行比较,如果有一个元素的equals()方法返回true则contains()方法返回true,否则所有equals()方法都不返回true,则contains()方法返回...原创 2020-03-25 21:56:17 · 866 阅读 · 1 评论 -
Arrays.sort()和Collections.sort()的用法及比较
Arrays.sortArrays.sort 针对任意对象,排序的类型就为传入的对象类如:Arrays.sort(a)//这里a为数组,可以是 int/String /类 数组,排序类型依次为int ,String ,类Collections.sortCollections.sort 针对集合(List),排序类型为List对应的类型如:Collections.sort (l)//这里...转载 2020-03-15 22:48:17 · 3075 阅读 · 0 评论 -
Comparable和Comparator的用法与区别
一 应用场景:当对自己定义的数据结构需要进行指定排序的时候,java中给了我们两个接口Comparable和Comparatorcomparable接口定义一个方法: public interface Comparable<T> { public int compareTo(T o); }comparator接口定义方法(jdk版本不同数量不同)注意:有些类...转载 2020-03-15 21:50:24 · 243 阅读 · 0 评论 -
Java TreeMap 使用自然排序和定制排序
import java.util.Comparator;import java.util.TreeMap; public class Demo3 { public static void main(String[] args) { System.out.println("使用自然排序:"); TreeMap<IdNumber2, Stri...转载 2020-03-15 21:27:05 · 322 阅读 · 0 评论 -
Map按键排序(sort by key), 按值排序(sort by value)。
Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value)。1、按键排序jdk内置的java.util包下的TreeMappublic class MapSortDemo { public static void main(String[] args) { Map<S...转载 2020-03-15 21:24:10 · 1640 阅读 · 0 评论 -
常见Map实现类的区别 Java
Java中,Map的实现类,常见的有HashMap,TreeMap,LinkedHashMap,HashTable,ConcurrentHashMap。这几种实现类的共同点是:当增加已存在的key-value时,value会覆盖。相同的key,只能有一个。他们的区别如下: 是否排序 是否允许为null 是否线程同步 备注 HashMap 不排序 ...原创 2020-03-04 22:05:32 · 670 阅读 · 0 评论 -
【基础笔记】Map的4种遍历方式 Java
import java.util.Comparator;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.TreeMap;/** * map的4种遍历方式 * */public class MapDemo { public static vo...原创 2020-02-08 13:14:11 · 164 阅读 · 0 评论 -
【基础笔记】compareTo()方法详情 Java
一、Integer比较用compareTo()时1,对比数字时相同,返回0。2,对比数字不同,若调用compareTo()的num1比num2大时,返回1;若调用compareTo()的num2比num1大时,返回-1。Integer num1 = 5;Integer num2 = 10;System.out.println(num1.compareTo(num2));//返回-...原创 2020-02-08 12:56:56 · 2599 阅读 · 0 评论 -
关于Java中length、length()、size()的区别
以前总是觉得自己好像会了,但是某天忽然面对这个笔试题还是会恍惚一下,混淆和答错的几率也很大,不知道有没有其他人像我一样的。所以今天把这个问题记一下,希望印象更深刻。首先...转载 2020-02-08 12:15:23 · 260 阅读 · 0 评论 -
【基础笔记】判断list中是否存在重复元素 Java
判断list中是否有重复的元素可以使用hashset,hashset可以自动去除重复的元素:List<Integer> list = new ArrayList<>();list.add(1);list.add(1);list.add(2);list.add(3);list.add(3);list.add(2);HashSet<Integer&...转载 2020-01-07 23:25:45 · 675 阅读 · 0 评论 -
【基础笔记】list初始化同时赋值 Java
方法1(常规方法):List<String> list = new ArrayList<String>();list.add("abc");list.add("def");list.add("hig");方法2:List<String> list = new ArrayList<String>(Arrays.asList("a"...原创 2020-01-07 23:18:17 · 1347 阅读 · 0 评论 -
不用循环 直接输出数组array Java
System.out.println(Arrays.toString(arrName));原创 2019-12-16 20:35:03 · 1104 阅读 · 0 评论 -
【已解决】case when+count 无法得出想要的结果,暂时记录,有知道原因的大佬,请不吝赐教
表名为test a 1 2 3 1 1 1 2 3 3 数据库中表结构如上图表所示,表名为test,仅有1列,列名为a。执行如下sql语句:SELECT COUNT(CASE WHEN a = 1 THEN 1 ELSE 0 END) AS oneNum, COUNT(CASE WHEN a = 2 THEN 1 ELSE 0 END) AS t...原创 2019-07-31 21:48:53 · 745 阅读 · 3 评论