集合基礎知識梳理

2021-10-08 07:27:02 字數 4396 閱讀 9804

​ 不唯一,有序的序列

1.1arraylist

構造方法的變化

遍歷方式

list

number =

newarraylist

();

number.

add(24)

; number.

add(

121)

; number.

add(

224)

; number.

add(

244)

; number.

add(

1224);

number.

add(

214)

;//遍歷的方法1:

for(

int i =

0; i < number.

size()

; i++

) system.out.

println

("**********====");

//遍歷的方式2:

for(integer i : number)

system.out.

println

("**********====");

//遍歷的方式3:

iterator

iterator = number.

iterator()

;//獲得乙個迭代器

while

(iterator.

hasnext()

)

arraylist 常用的方法 最好參考api

size()

get(int index)

contains(object obj) 查詢集合中obj是否存在

remove

collection中常被用的方法

1.2vector

1.3linkedlist

迴圈:也可以有三種迴圈方式

list

list =

newlinkedlist

();for

(int i =

0; i <

100000

; i++

)//為了統計一下所用的時間,定義的乙個開始引數

long start = system.

currenttimemillis()

;//使用迭代器

iterator

iterator = list.

iterator()

;while

(iterator.

hasnext()

)//使用for-each

// for(integer i : list)

//使用for迴圈,效率太低

// for(int i = 0 ; i < list.size() ; i++)

//為了統計一下所用的時間,定義的乙個結束引數

long end = system.

currenttimemillis()

; system.out.

println

(end - start)

;

1.4 arraylist與linkendlist的比較
​ 唯一,無序,

2.1hashset

方法:繼承collection 因此方法和array list相似

迴圈的方法:set介面沒有get方法、

​ 鍵值對的形式

jdk7之前的是陣列+單項鍊表的形式

jdk8之後採用的是陣列+鍊錶的結構,當鍊表的元素個數超過8個的時候,鍊錶結構會被擴充套件為變成紅黑樹的結構模式。

1.2版本開始,無參構造方法,會建立乙個初始容量為16(可以自定義,但是最好是2的倍數)的node型別的陣列,他的預設負載係數是0.75。

負載係數就是,當使用超過0.75的時候,就會進行兩倍的擴容。

擴容為2倍

常用的方法:

set 返回set集合

get(object key) 根據鍵返回值

isempty() 判斷是否為空

size() 返回鍵值對的數量

遍歷的方式:map集合和set集合都是無序的,沒有get(object key)方法,不能用for迴圈,只能用for-each

第二種 :

第三種:

第四種

//第一種;凡是根據key值查詢的效率都比較低

setkeyset = map.

keyset()

;for

(integer i : keyset)

//第二種

system.out.

println

("*****====");

collection

values = map.

values()

;for

(string s : values)

//第三種

set> entryset = map.

entryset()

;for

(entry

e : entryset)

//第四種

iterator

> it = map.

entryset()

.iterator()

;while

(it.

hasnext()

)

注:entry是乙個介面

遍歷的方式與hashmap的遍歷方式一樣

泛型:常用名稱:e = element / t = type / k = key / v = value

靜態泛型:

//1、定義在類之中的泛型:

public

class

test

}class

student

}//2、定義在介面之中的泛型

inte***ce

run//在介面實現的時候,需要給乙個具體型別,那麼這個實現類實現的方法中關於這個泛型,都會變成這個具體的型別

public

class

test1

implements

run}//3、定義在方法形參列表之中 <? extends person>代表了父類person以及他的所有子類。

public

class

test

}public

static

void

main

(string[

] args)

}

comparable<? super t>

只有實現了這個介面的類(重寫compareto方法)才能使用collections.sort(list list)

public

class

test

//倒置

system.out.

println

("*****=");

collections.

reverse

(list)

;for

(student s : list)

//隨機重置順序

system.out.

println

("*****=");

collections.

shuffle

(list)

;for

(student s : list)}}

class

student

implements

comparable

elseif(

this

.getage()

== o.

getage()

)else

}@override

public string tostring()

public

intgetage()

public

student

(string name ,

int age)

}

IP基礎知識梳理

離開學校後看書少了很多,發現掌握的ip知識不是很牢,所以在這裡也稍稍梳理下,感覺語言也沒書本上詳盡 完全是筆記形式,望讀者勿噴 ip層 網路層也叫internet層,負責將分組報文從源端傳送到目的端。作用 tcp ip模型 參考 即整個網路上傳送的二進位制資料總結為如下格式 後的鏈路配置為trunk...

jQuery基礎知識梳理

語法 jquery語法是為html元素的選取編制的,可以對元素執行某些操作。基礎語法 selector action 美元符號定義jquery 選擇符 selector 查詢 和 查詢 html元素 jquery的action 執行對元素的操作 文件就緒函式 為防止文件在完全載入之前裕興jquery...

Spring基礎知識梳理

1 spring概要 spring現在主要是一站式服務,spring core container是 其中最重要的元件,一般與其他框架一起用。spring容器最重要的作用?是管理bean,spring容器中的全部物件都是bean。spring通過什麼來管理bean?xml檔案 spring的底層會執...