随笔分类 - Java
摘要:HashMap(由键决定特点):无序、不重复、无索引 LinkedHashMap(由键决定特点):有序,不重复,无索引 TreeMap(由键决定特点):按照大小默认排序升序、不重复、无索引 常用方法 import java.util.Collection; import java.util.Hash
阅读全文
摘要:一个操作集合的工具类 setAll:批量添加数据 shuffle:打乱List集合数据 sort:对list集合进行排序
阅读全文
摘要:用for循环遍历删除不会报错但是结果未达到预期 解决方法👇 用iterator遍历要用迭代器对象remove而不是集合remove 解决方法👇 利用增强for循环遍历集合并删除数据,没有办法解决bug Lambda遍历list本质就是增强for循环,也会触发并发修改异常
阅读全文
摘要:Set集合的特点 HashSet:无序;不重复;无索引 LinkedHashSet:有序;不重复;无索引 TreeSet:可排序(默认升序);不重复;无索引 HashSet 基于哈希表实现 哈希表是一种增删改查数据,性能都比较好的数据结构 哈希表:JDK8之前,哈希表=数组+链表 JDK8之后,哈希
阅读全文
摘要:静态方法引用 import lombok.AllArgsConstructor; import lombok.Data; import java.lang.reflect.Array; import java.util.Arrays; import java.util.Comparator; imp
阅读全文
摘要:Arrays.toString() Arrays.copyOfRnage() 拷贝区间[from,to) Arrays.copyOf Arrays.setAll() 从setAll底层源码可知,apply方法的入参是原数组的下标,返回值是修改后的对应下标的元素 Arrays.sort() 基本数据类
阅读全文
摘要:Java8之前的传统日期API Date转换成字符串 import java.text.SimpleDateFormat; import java.util.Date; /** * @author Pickle * @version V1.0 * @date 2024/3/7 14:43 */ pu
阅读全文
摘要:一般情况下,类和类之间时相互独立的,内部类的意思是打破这种独立,让一个类成为另外一个类的内部信息,和成员变量、成员方法同等级别。 成员内部类 就是将内部类当成外部类的成员变量对待。 /** * @author Pickle * @version V1.0 * @date 2024/3/7 11:58
阅读全文
摘要:静态变量 静态变量也称为类变量,这个变量是属于类的,类的所有实例都共享静态变量,可以通过类名来访问他们。静态变量在内存中只存在一份。 实例变量:每创建一个实例就产生一个实例变量,与实例同时产生,同时销毁。 /** * @author Pickle * @version V1.0 * @date 20
阅读全文
摘要:底层数据结构是双链表,查询慢,增删快,但是如果操作的是首尾元素,速度也很快。 Node内部类,双向节点结构 //双向链表的内部节点 private static class Node<E> { E item; //现在索要存储的数据 Node<E> next; //下一个节点的地址 Node<E>
阅读全文
摘要:JDK版本11 ArrayList类声明 其中RandomAccess、Cloneable、Serializable都是标记接口,用来表示ArrayList支持随机读取、克隆和序列化反序列化。 ArrayList集合添加元素底层原理 利用空参创建集合,在底层创建一个默认长度为0的数组。 添加第一个元
阅读全文
摘要:定义 Java的序列化就是将Java对象转换为二进制数据流的过程,也就是将当前对象的状态信息转换成二进制数据持久化到磁盘或者通过网络传输到其他系统中,要知道计算机中存储的,计算机网络中传输的都是二进制数据。Java的反序列化就是在二进制代码中将对象的状态信息读取出来,构建对象的过程。 需要用到Jav
阅读全文
摘要:List List集合的特点有序、可重复、有索引。 List remove重载方法的细节 List的remove方法有两个 第一个方法按照值删除元素,第二个方法按照索引下标删除元素。 案例一 public static void main(String[] args) { List<Integer>
阅读全文
摘要:功能接口的传递 在JDK8之前,函数参数的功能性接口往往用匿名内部类的形式实现,但是JDK8更新了Lambda表达式的新特性,简化了匿名内部类。 Java 8的一个大亮点是引入Lambda表达式,使用它设计的代码会更加简洁。当开发者在编写Lambda表达式时,也会随之被编译成一个函数式接口。 lam
阅读全文
摘要:匿名内部类 匿名内部类就是当一个抽象类或接口有一个或者几个抽象方法,不想去继承或者实现它重新定义,就可以用匿名内部类的方法new一个抽象类或者接口直接重写抽象方法。 或者 匿名内部类访问局部变量 public static void main(String[] args) { String name
阅读全文
摘要:Java集合 Java分为单列数据集合和双列数据集合 单列数据集合 一次存取一个元素 双列数据集合 一次存取一对元素 单列数据集合 单列集合的祖宗(Collection) List系列集合:有序(按照添加的顺序存放)、可重复、有索引 Set系列集合:无序、不可重复、无索引 Collection接口
阅读全文
摘要:Java数组 数组是一种容器,可以用来存储同种类型的多个值。 数组的定义 两种形式 int[] array int array[] 数组的初始化 在内存中为数组开辟空间,并将数据存入容器的过程。 静态初始化 //完整格式 int[] array = new int[]{11,22,33}; //简化
阅读全文
摘要:Final修饰的四种情况 final修饰的类不能被继承 final修饰的方法不能被重写 final修饰的变量是基本数据类型的值不能被改变 final修饰的变量是引用数据类型则不能指向其他对象
阅读全文
摘要:JDK动态代理 例子: import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; /** * @author Pickle * @versi
阅读全文
摘要:1、利用MyMateObjectHandler继承MataObjectHandler重写insertFill和updateFill方法,使用自定义的规则对相应的字段进行填充 package cn.pickle.reggle.common; import com.baomidou.mybatisplu
阅读全文
浙公网安备 33010602011771号