陣列排序,包裝類

2021-10-06 21:08:28 字數 4277 閱讀 8306

1.陣列排序

1.氣泡排序

//氣泡排序

public

class

test

;for

(int j =

0; j < arr.length-

1; j++)}

} system.out.

println()

;}}

2.選擇排序,根據理解手打排序

//選擇排序

public

class

test01

;for

(int j =

0; j < arr.length-

1; j++)}

}for

(int i =

0; i < arr.length; i++

) system.out.

println

(arr.length);}

}

3.直接插入排序

//直接插入排序

public

class

test2

;for

(int i =

1; i < arr.length; i++)}

system.out.

println

(arrays.

tostring

(arr));

}}

4.陣列中查詢元素得方法:二分法查詢元素

public

class

test

;// 查詢元素中的元素值所代表的索引:

// 1.基本查詢方法:從頭遍歷到尾

system.out.

println

(findindex

(arr,

124));

// 2.二分法查索引(前提是陣列有序)

int[

] arr1=

; system.out.

println

(getindex

(arr1,

788));

}//二分法查詢方法:(這裡可以用for迴圈,也可以用while迴圈,其實while迴圈更方便)

private

static

intgetindex

(int

arr0,

int i)

範圍,// 但是c沒進去,則{}裡面的變化會改變最終a,b的值,不改變c的值,即使在{}外邊c與ab有關係,也不改變c的值,c的值還是最開始

// 的定義值,除非你把c放進{}去,才會最終改變c的值,否則無論ab怎麼變化,都不改變c的值,c還是最開始的值,記住就行

// 一句話總結,abc必須全進{}裡面,最終值才改變,否則只要有沒進去的,就是最開始的值,即使abc直接有關係也不會影響沒進去的

// 這個值,記住就行

// ***************(如果{}外面的c和ab的關係式子與裡面的不一樣,最終輸出的為{}裡面的c與ab關係的那個值)

for(

int i1 =

0; i1 < arr0.length; i1++

)else

if(i&&first<=last)

else

if(i==arr0[middle]

&&first<=last)

middle=

(first+last)/2

;//這的關係式與{}外面的不一樣,以裡面的為準,最終輸出也是輸出這的,類似多型的子類,記住就行

//感覺就好像{}外面的變數進去了裡面就好像多型一樣,變數也可以這樣去理解,先這麼記

} system.out.

println

(first)

; system.out.

println

(last)

; system.out.

println

(middle)

;return-1

;}//基本查詢方法

private

static

intfindindex

(int

arr,

int i)

}return-1

;}}

2.包裝類

1.包裝類概述

//包裝類的方法全部都是靜態的

public

class

test

}

public

class

test1

}

2.integer得構造方法:

//integer的構造方法

public

class

test2

}

3.integer和string型別互換:

/

int型別和string型別的相互轉換(不光是int型別,其餘的型別也都是這些方法和string型別進行相互轉換)

public

class

test3

}

4.自動拆裝箱

//自動拆裝箱

public

class

test

}

//所有的包裝類都是重寫了equals的方法

//對於自動裝箱的時候對應的值是-128到127的時候的分析,這個時候會調靜態**塊兒中初始化的那256個物件中的乙個

public

class

test1

;//這裡面就進行了自動裝箱(基本型別是)

int[

] aa=

;//這裡面的引用變數就是自動拆箱,右邊賦左邊,記住了,根據

// 右邊賦左邊去判斷自動拆裝箱

integer i1=

128;

integer i2=

128;

//這裡是自動裝箱,用這個的時候直接內部自動呼叫引用.valueof()方法,這個方法裡面是返回乙個根據裝箱初始化的

// 值對應的物件,在-128到127之間的是會返回初始化裡面的物件,只要在這個範圍內的時候,就直接返回這裡面的物件,超過這個值,才會返回

// 乙個new的物件,即乙個新的物件

system.out.

println

(i1==i2)

;//false

system.out.

println

(i1.

equals

(i2));

//true

integer i3=

127;

integer i4=

127;

system.out.

println

(i3 = i4)

;//true(範圍是在-128-127之間)

system.out.

println

(i3.

equals

(i4));

//true

// 在integer類裡面,有乙個靜態的內部類,叫integercache,它有乙個靜態**塊兒,當integer類一載入,靜態的內部類integercache

// 也載入(這裡要注意,內部類中要是有靜態的內部類的話,一載入外部類,就相當於載入了這個類了,載入這個類,靜態的內部類就會首先載入),

// 靜態**塊兒也會載入,靜態**塊兒裡面有乙個 inteher型別的cache陣列,這個陣列裡面就會放一些提前建立好的integer物件

// 當我們採用這種方式定義乙個integer物件時,如果這個值在-128-127之間的時候,他會從cache陣列中返回乙個物件給你,這裡要注意

// 這個cache的陣列是靜態的,所以在靜態**塊兒裡面直接用他是沒有問題的,跟靜態**塊兒一起來的,帶靜態得就相當於是同一時間段全部都存在了

// 但是static靜態**塊兒和static靜態常量有著先後順序,記住了

// 靜態**塊兒裡面的東西都要是靜態的

}}

Java包裝模擬較和包裝類底層快取陣列

關於包裝類的比較問題,我們先看以下 integer i1 100 integer i2 100 integer i3 200 integer i4 200 system.out.println i1 i2 true system.out.println i3 i4 false double d1 1...

包裝類 包裝類物件 包裝類的型別轉換功能 已完結

在敘述前首先區分三者間的關係 因為在複習過程中,發現自己傻傻分不清 1.包裝類 js提供了三個包裝類 boolean string number 這兒不是基本資料型別中的boolean string number。上述是包裝類,是物件 2.包裝 類 物件 使用new boolean string n...

Arrays類 包裝類

arrays類 針對數值操作的工具類 arrays類的方法是靜態方法,直接用類名.方法 pbulic static void sort int a 方法 將陣列排序 pbulic static sting tostring int a 將陣列轉化成字串 pbulic static int binar...