排序 ArrrayList集合

2022-07-22 08:57:12 字數 933 閱讀 3852

陣列的排序:一般都是公升序排列

兩種排序方式:

--選擇排序:陣列的每個元素都進行比較。

--氣泡排序:陣列中相鄰元素進行比較。

選擇排序

1

public

static

void selectsort(int

arr)9}

10}11 }

氣泡排序

1

public

static

void bubblesort(int

arr)9}

10}11 }

折半查詢

實現步驟:

1:需要的變數定義三個,三個指標

2:進行迴圈折半,可以折半的條件 min <= max

3:讓被找元素和中間索引元素進行比較

元素 > 中間索引 小指標 = 中間 +1

元素 < 中間索引 大指標 = 中間 -1

元素 == 中間索引 找到,結束,返回中間索引

4:迴圈結束,無法折半

元素沒找到,返回-1

1

public

static

int binarysort(int arr,int

key)else

if(key >arr[mid])else14}

15return -1;

16 }

arraylist集合

--內部封裝了乙個長度可變的陣列,當存入的元素超過陣列長度時,arraylist會在記憶體中分配乙個更大的陣列來儲存這些元素。

建立:--arraylist《要儲存元素的資料型別》  變數名  =  new   arraylist《要儲存元素的資料型別》(),注意:儲存的資料型別必須是引用資料型別。

ArrrayList原始碼分析

三 擴容機制 四 remove方法 transient object elementdata 意味著arraylist裡面的物件都是用不可序列化物件陣列儲存的,因為陣列裡面存的是陣列的引用,而引用預設佔4位元組,由於這一特點,隨機查詢快。private static final object emp...

Collections集合工具集合排序

使用方式 colltctions.方法名 需要操作的集合,引數 colltctions.sort list 預設公升序,想要在自定義中定義排序規則 需要重寫comparable中的compareto方法 override public int compareto person o listlist ...

排序演算法集合

氣泡排序 public static int maopao int param return param 快速排序 public static int quick int param,int left,int right return param 分割陣列,相當於分治演算法,快速排序的核心 priv...