自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 设计原则学习笔记

接口隔离原则(Interface Segregation Principle,ISP)是面向对象设计中的一个原则,它指导我们在设计接口时应该保持接口的单一性,避免将多个不同的功能组合在同一个接口中。比如说,我们每个人都会讲话,但是每个国家都有每个国家的语言,因此对于讲话这个功能来说其实有很多种实现,所以我们通常会对这样的功能进行抽象。也就是说,如果我们要继承父类的话,我们可以重写父类的抽象方法,且出入参要大于等于父类,返回值小于等于父类,但是不能重写父类的非抽象方法,只能增添新功能。

2024-05-06 11:35:39 531

原创 LinkedHashSet学习笔记

有序不重复无索引全照搬linkedhashmap,保证有序的原理和linkedhashmap一样,如果要保证自定义类型的对象唯一需要重写自定义对象的hashcode方法,不然因为每个对象地址值不同,就算里面属性一样也会判定为两个不同的元素。

2024-05-04 22:54:36 187 1

原创 HashSet学习笔记

无序不重复无索引1.空参构造:构造一个新的空集合;后备 HashMap 实例具有默认初始容量 (16) 和负载系数 (0.75)。2.有参构造:传入指定数组容量3.有参构造:传入指定初始容量和荷载系数4.有参构造:传入一个Collection的子类,创建一个hashmap,负载系数还是0.75,容量就根据传入的子类中元素数量来判断,将元素数*0.75+1与16比较,哪个大选哪个,然后再把数据加到map中addAll(c);

2024-05-04 14:14:44 218 1

原创 TreeMap学习笔记

不重复无索引可排序(键)自定义对象实现compareable接口,重写compareto方法即可定义排序规则。

2024-05-03 23:26:35 301

原创 LinkedHashMap学习笔记

相较于hashmap,存储数据的节点属性有了新的before和after属性,通过这两个属性来保证数据有序存储,其实就是before指向前一个节点,after指向后一个节点,这样的话即使数据再怎么操作也能保证数据存储有序。

2024-05-03 22:27:56 204

原创 LinkedList学习笔记

LinkedList是 Java 中的一个双向链表数据结构。它由一系列节点组成,每个节点包含数据元素和指向前一个节点和后一个节点的引用。这种结构使 LinkedList 在插入和删除操作方面非常高效,因为它不需要像数组一样重新分配内存空间。1.空参构造:默认创建一个空对象2.有参构造:传入一个collection的子类this();addAll(c);

2024-05-03 19:48:14 205

原创 Deque学习笔记

大多数 Deque 实现对于它们能够包含的元素数没有固定限制,但此接口既支持有容量限制的双端队列,也支持没有固定大小限制的双端队列。此接口定义在双端队列两端访问元素的方法。每种方法都存在两种形式:一种形式在操作失败时抛出异常,另一种形式返回一个特殊值(null 或 false,具体取决于操作)。插入操作的后一种形式是专为使用有容量限制的 Deque 实现设计的;,Deque的实现类是LinkedList、ArrayDeque、LinkedBlockingDeque,其中LinkedList是最常用的。

2024-05-03 19:45:05 25

原创 Queue学习笔记

无论使用哪种排序方式,队列的头 都是调用 remove() 或 poll() 所移除的元素。remove() 和 poll() 方法仅在队列为空时其行为有所不同:remove() 方法抛出一个异常,而 poll() 方法则返回 null。Queue 实现通常未定义 equals 和 hashCode 方法的基于元素的版本,而是从 Object 类继承了基于身份的版本,因为对于具有相同元素但有不同排序属性的队列而言,基于元素的相等性并非总是定义良好的。相同:容量大于0的时候,删除并返回队头被删除的那个元素。

2024-05-03 19:41:46 327

原创 HashMap学习笔记

1.空参构造:只是初始化了加载因子:0.752.有参构造:传入指定数组容量3.有参构造:传入指定初始容量和荷载系数4.有参构造:传入一个map的子类,构造具有相同映射,荷载系数默认为0.75的hashmapextends K,?

2024-05-03 19:36:41 369 1

原创 java.io.Serializable接口学习笔记

未实现此接口的类将不会序列化或反序列化其任何状态。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义。说人话:序列化就是把你程序里的内容转换成可以写到文件里的数据反序列化就是把文件里的数据转换成程序里的内容(咋转的这里就不写了)该接口就是提供标识表示这个类可以实现序列化与反序列化(估计用的时候会检查接口?

2024-05-02 22:40:09 63 1

原创 RandomAccess接口学习笔记

此接口的主要用途是允许泛型算法更改其行为,以便在应用于随机或顺序访问列表时提供良好的性能。说人话:随机就是for循环通过下标get出元素,想取哪个取哪个顺序就是迭代器,必须next,也就是一个一个往下取数据该接口保证了随机访问的速度优于顺序访问,因此在处理数据时,可以先通过instanceof RandomAccess 来判断该数据是否实现了该接口,进而判断使用哪种访问方式。

2024-05-02 22:38:08 52 2

原创 Cloneable接口学习笔记

类实现接口 Cloneable 以向 Object.clone() 方法指示该方法创建该类实例的逐字段副本是合法的。在未实现接口的 Cloneable 实例上调用 Object 的克隆方法会导致引发异常 CloneNotSupportedException。按照约定,实现此接口的类应使用公共方法重写 Object.clone (受保护)。有关重写此方法的详细信息,请参阅 Object.clone()。请注意,此接口不包含该 clone 方法。因此,不能仅仅因为它实现了这个接口而克隆一个对象。

2024-05-02 22:28:36 260 2

原创 ArrayList学习笔记

ArrayList学习笔记

2024-05-02 22:21:18 463 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除