一、陣列和集合的區別:
1.陣列的大小是固定的,並且同乙個陣列只能是相同的資料型別
2.集合的大小是不固定的,在不知道會有多少資料的情況下可使用集合。
二、集合的三種型別:list(列表)、set(集)、map(對映)
list介面和set介面屬於collection介面,map介面和collection介面並列存在(同級)。
list(元素可重複性,有序性):
public執行結果:static
void
main(string args)
system.out.println();
//換行
//vector底層是乙個實現自動增長的物件陣列,元素會自動新增到陣列中,查詢快,增刪慢,線層安全,效率低
vectorvector=new vector<>();
vector.add(3);
vector.add(5);
vector.add(25);
vector.add(51);
vector.add(5);
system.out.println("vector:"+vector);
//linkedlist底層是乙個鍊錶,查詢慢,增刪快,線層不安全,效率高
linkedlistlinkedlist=new linkedlist<>();
linkedlist.add(30);
linkedlist.add(30);
linkedlist.add(34);
linkedlist.add(55);
system.out.println("linkedlist"+linkedlist);
set(具有唯一性,無序性):
public執行結果:static
void
main(string args)
//hashset:無序,隨機輸出。底層資料結構是雜湊表,依賴hashcode()和equals()兩個方法來保證唯一性。
system.out.println("ordering in hashset :" +hashset);
//linkedhashset:fifo插入有序,先進先出。底層結構是鍊錶和雜湊表,由鍊錶保證元素有序,雜湊表保證元素唯一。
system.out.println("order of element in linkedhashset :" +linkedhashset);
//treeset:有序,唯一。底層結構是紅黑樹,排序採用自然排序和比較容器排序,根據比較的返回值是否為0來判斷元素唯一。
system.out.println("order of objects in treeset :" +treeset);
}
map(採用鍵值對儲存元素,key鍵唯一):
hashmap:底層結構是陣列+鍊錶,無序,執行緒不安全,效率高,允許有null(key和value都允許),父類是abstractmap
treemap:底層結構是紅黑樹,有序,將資料按照key排序,預設是公升序排序。
hashtable:底層結構是雜湊表,無序,執行緒安全,效率低,不允許有null值,父類是dictionary
public執行結果:static
void
main(string args)
system.out.println("------------------------------------");
//因為key唯一,key重複時會自動覆蓋value之前儲存的資料
map.put(3, "英國佬");
for(integer key1 : map.keyset())
system.out.println("------------------------------------");
遍歷key和value,同樣是foreach方法,推薦容量大的時候使用
for (map.entryentry : map.entryset())
}
TCP UDP IP HTTP之間的聯絡
網路由下往上分為 物理層 資料鏈路層 網路層 傳輸層 會話層 表示層和應用層。通過初步的了解,我知道ip協議對應於網路層,tcp協議對應於傳輸層,而http協議對應於應用層,三者從本質上來說沒有可比性,socket則是對tcp ip協議的封裝和應用 程式設計師層面上 也可以說,tpc ip協議是傳輸...
指標與陣列之間的聯絡
指標和陣列的關係 對於乙個一維陣列,例如int a 10 那麼a代表的是陣列的首位址,它和 a 0 是等價的。定義指標int p,p a 等價於p a 0 如果 p 指向a 0 那麼 p 就是 a 0 中的元素,p i 是陣列元素 a i 的位址,p i 就是陣列元素 a i 的內容。指標與陣列的轉...
字元與位元組之間的聯絡
一 位元組 的定義 位元組 byte 是一種計量單位,表示資料量多少,它是計算機資訊技術用於計量儲存容量的一種計量單位。二 字元 的定義 字元是指計算機中使用的文字和符號,比如1 2 3 a b c 等等。三 位元組 與 字元 它們完全不是乙個位面的概念,所以兩者之間沒有 區別 這個說法。不同編碼裡...