原创 【數據結構】紅黑樹簡單實現 JAVA版

大綱通過java簡單實現紅黑樹打印紅黑樹結構(網上找的一個方法) 通過java簡單實現紅黑樹 package com.example.demo.rbt; import lombok.Data; public class RBT

原创 【數據結構】紅黑樹理解

大綱紅黑樹性質自平衡查詢插入練習 紅黑樹 紅黑樹是一個含有紅黑節點並能夠自平衡的二叉查找樹 性質 必須滿足五個性質 每個節點要麼是黑色,要麼是紅色 根節點是黑色 每個葉子節點(NIL)是黑色的 每個紅色節點的兩個子節點一定是黑色

原创 【集合類】源碼解析之 HashSet類、LinkedHashSet類

大綱HashSet類聲明重點字段構造函數Set 方法實現序列化Object 方法LinkedHashSet類聲明構造器HashSet 方法 HashSet 哈希表結構(其實用的是Map),線程不安全,不保證順序,自動去重(必須覆蓋

原创 【集合類】源碼解析之 Vector、Stack類

大綱Vector類聲明Stack類聲明擴展的五個方法 Vector 基於數組,線程同步,慢 類聲明 public class Vector<E> extends AbstractList<E> implements List<E>

原创 【集合類】源碼解析之HashMap類

大綱HashMap類聲明主要字段構造函數tableSizeFor新增方法put方法hash方法putVal方法擴容方法resize方法查詢方法get方法getNode方法刪除方法remove方法removeNode方法替換方法re

原创 【集合類】源碼解析之 Map接口

大綱Map接口構造函數內部接口 Entry共性方法jdk1.8新增的默認方法 Map接口 雙列集合,鍵值對(確保鍵的唯一) 構造函數 public interface Map<K,V> 內部接口 Entry 抽象了內部存儲的節點

原创 【MYSQL】記錄 MYSQL UPDATE AND 產生的問題

記錄 MYSQL UPDATE AND 產生的問題 基於 Server version: 8.0.16 MySQL Community Server - GPL 版本 表結構數據初始化 -- -------------------

原创 【集合類】源碼解析之 Set接口、AbstractSet抽象類

大綱Set接口類聲明AbstractSet抽象類類聲明構造函數Set 方法實現Collection 方法實現 Set接口 不包含重複元素的集合。 更正式地說,集合不包含一對元素e1和e2 ,使得e1.equals(e2) ,並且

原创 【集合類】源碼解析之 ArrayList類

大綱ArrayList重點字段構造函數擴容存儲刪除序列化和反序列化jdk1.8新增的方法實現其餘方法 ArrayList 基於數組,線程不安全,隨機存取,查詢快增刪慢,以1.5倍擴容,最大是Integer.MAX - 8 publ

原创 【集合類】源碼解析之 AbstractSequentialList 抽象類、LinkedList類

大綱AbstractSequentialList 抽象類LinkedListList方法Deque方法工具方法序列化其餘方法 AbstractSequentialList 抽象類 順序列表,相對於RandomAccess標記接口而

原创 【集合類】源碼解析之 Iterable接口、Collection接口、AbstractCollection抽象類

大綱集合Iterable接口Collection接口AbstractCollection抽象類 集合 常用集合類框架圖 Iterable接口 Iterable 代表接口具備迭代能力,實現此接口允許對象成爲“ for-each循環

原创 【集合類】源碼解析之 Queue接口、AbstractQueue抽象類、Deque接口

大綱Queue接口AbstractQueue抽象類Deque接口Queue 方法Stack 方法其他方法 Queue接口 隊列,除了基本的Collection操作之外,隊列還提供額外的插入,提取和檢查操作。 這些方法中的每一種都有

原创 【集合類】源碼解析之 List接口、AbstractList抽象類

大綱List接口AbstractList抽象類內部類 Itr內部類 ListItrSubListRandomAccessSubList List接口 存取順序一致,有索引,允許重複 類聲明 public interface Lis

原创 JAVA 基礎知識點複習(十五)泛型

大綱定義泛型的限定泛型擦除 定義 在編譯時期就對元素的類型進行檢查,一旦發現不匹配就編譯失敗。在編譯時泛型就被擦除了,所以無法在運行時得知其類型參數的類型。通過泛型可以定義類型安全的數據結構(類型安全),而無須使用實際的數據類型(

原创 JAVA 基礎知識點複習(十四)異常

大綱異常定義解決異常自定義異常try...catch...finallyThrowable三個常用方法 異常定義 按照面向對象的思想對程序運行時其發生的不正常情況進行描述和對象的封裝 除非你能解決(或必須要處理)這個異常,否則不要