JAVA高階基礎(8)---Set的典型實現(一):HashSet
HHashSet
注:更多詳細方法請自行在 API 上查詢
HashSet 是由hash表(hashMap)支援,不保證元素的迭代順恆久不變,允許存在null值,元素不允許重複,同時,不是執行緒安全的
HashSet是基於HashMap實現的。
相關推薦
JAVA高階基礎(8)---Set的典型實現(一):HashSet
HHashSet 注:更多詳細方法請自行在 API 上查詢 HashSet 是由hash表(hashMap)支援,不保證元素的迭代順恆久不變,允許存在null值,元素不允許重複,同時,不是執行緒安全的 HashSet是基於HashMap實現的。 &n
JAVA高階基礎(9)---Set的典型實現(二):TreeSet
TreeSet TreeSet是基於TreeMap實現的。不是執行緒安全的。TreeSet可以使用元素的自然順序進行排序,或者定製排序 注:更多詳細方法請自行在 API 上查詢 排序方式 &nbs
JAVA高階基礎(7)---Set介面
Set 無序:指資料在set中的存入順序和遍歷得到的順序有可能不一致。 是一個不包含重複元素的Collection,判斷元素是否重複的依據就是:兩個元素通過equals方法,返回true,則認為兩個元素重複。在Set中只能存在一個null值。 注:更多詳細方法
JAVA高階基礎(13)---HashMap的效能引數
HashMap的效能引數 HashMap 包含如下幾個構造器 HashMap():構建一個初始容量為 16,負載因子為 0.75 的 HashMap。 HashMap(int initialCapacity):構建一個初始容量為 initialCapacity,負載因子為 0
JAVA高階基礎(12)---HashMap的資料結構及內部實現
HashMap HashMap的工作原理 Java 8 的 HashMap 對之前做了較大的優化,其中最重要的一個優化就是桶中的元素不再唯一按照連結串列組合,也可以使用紅黑樹進行儲存,總之,目標只有一個,那就是在安全和功能性完備的情況下讓其速度更快,提升效能。 java8
JAVA高階基礎(11)---Map的常用方法及遍歷方式
Map 注:更多詳細方法請查詢 API Map介面和Collection介面的不同 Map是雙列的,Collection是單列的 Map的鍵唯一,Collection的子體系Set是唯一的 Map集合的資料結構值針對鍵有效,跟值無關;Collection
JAVA高階基礎(10)---TreeSet對自定義型別進行定製排序及增強for迴圈遍歷集合
TreeSet 自然排序 對於自定義型別,那麼要實現自然排序,需要去 Comparable 介面中的 compareTo 方法。在 compare To 方法中我們可以根據自己的業務要求,來實現自己的排序規則。 定製排序 在建立容器
JAVA高階基礎(6)---Vector和LinkedList
Vector 是 List 介面一個長度可變的陣列的實現。 可以儲存null 是同步的(是執行緒安全的) 注:更多詳細方法請自行在 API 上查詢 ArrayList和Vector的區別:是否是同步的 package or
JAVA高階基礎(5)---ArrayList
是List介面的一個大小可變的陣列的實現 允許null值存在 不是同步(不是執行緒安全的) 注:更多詳細方法請自行在 API 上查詢 何時使用陣列?何時使用ArrayList? 當進行資料的儲存的時候,如果儲存的元素的個數是確定,就使用陣列;如果資料
JAVA高階基礎(4)---List介面
List介面 List是有序的 collection(也稱為序列)。此介面的使用者可以對列表中每個元素的插入位置進行精確地控制。使用者可以根據元素的整數索引訪問元素,並搜尋列表中的元素。 List 集合裡添加了一些根據索引來操作集合元素的方
JAVA高階基礎(3)---Iterator
Iterator Iterator迭代器 它是Java集合的頂層介面(不包括map系列的集合,Map介面是map系列集合的頂層介面) 注:更多詳細方法請自行在 API 上查詢 Iterator 介面是專門用來對集合進行迭代的一個迭代器(遍歷)。對集合
JAVA高階基礎(2)---Collection
Collection Collection介面成員方法 boolean add(E e) boolean remo
JAVA高階基礎(1)---集合框架的認識
集合 集合的由來 通常,我們的程式需要根據程式執行時才知道建立多少個物件。但若非程式執行,程式開發階段,我們根本不知道到底需要多少個數量的物件,甚至不知道它的準確模型。為了滿足這些常規的程式設計需要,我們要求能在任何時候,任何地點建立任意數量的物件,而這些物件用什麼來容納呢?我們首先想到
JAVA高階基礎(33)---字元緩衝流
字元緩衝流 緩衝流:當我們在建立緩衝流的時候,會預設在系統記憶體中為當前流分配一定大小的緩衝區 字元緩衝輸入流 特殊方法:String readLine();每次讀取一行 返回值:當前行的內容,不包括終止符(\r、\n、\r\n) 字元緩
JAVA高階基礎(32)---字元流
字元流 &nbs
JAVA高階基礎(31)---位元組緩衝流
位元組緩衝流 BufferredInputStream bos.flush();//將緩衝區強制重新整理 bos.close();//在關閉輸出流的時候,首先會執行 flush 將緩衝區的資料重新整理清空,然後再關閉流。 注意在使用緩衝輸出流的時候,必須進行強制
JAVA高階基礎(30)---位元組輸入輸出流完成檔案複製
位元組輸入流 InputStream 注:更多方法請查詢API package org.lanqiao.inputstream.demo; import java.io.File; import java.io.FileInputStream; import ja
JAVA高階基礎(40)---RandomAccessFile
RandomAccessFile 隨機訪問檔案。可以通過在建立物件的時候,指定模式:r 讀模式 / rw 寫模式 在其中存在指標,來定位對檔案進行讀寫的位置 getPointFile(); 獲取指標位置 seek(long&nbs
JAVA高階基礎(52)---非阻塞式的IO通訊
非阻塞式 客戶端 獲取通道 切換非阻塞模式 分配指定大小的緩衝區 傳送資料給服務端 關閉通道 服務端 獲取通道 切換非阻塞模式 繫結連線 獲取選擇器 將通道註冊到選擇器上, 並且指定“監聽接收事件”
JAVA高階基礎(51)---有反饋的阻塞式的IO網路通訊
package org.lanqiao.blocking2.demo; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.chan