List Map Set之間的聯絡與區別

2022-08-24 20:27:13 字數 2303 閱讀 4958

一、陣列和集合的區別:

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 等等。三 位元組 與 字元 它們完全不是乙個位面的概念,所以兩者之間沒有 區別 這個說法。不同編碼裡...