集合工具類和排序

2021-06-21 14:28:20 字數 2318 閱讀 2534

一、collections類集合工具類

1.collections類裡面全部都是靜態方法,其中的sort(list

list)方法可以實現對list物件排序,前提是list裡面的所有元素都必須實現了comparable介面,也就是實現了介面裡面的compareto(objecto)方法。(arrays的sort(object[ ] object)要求一樣

2.compareto(objecto)方法的實現:如果物件大於要比較的物件返回正數,如果是等於返回0如果小於就返回乙個負數.

如下面的類實現了compareto(objecto)方法,以學生的學號比較:

class student implements comparable

public string tostring()

}

3.collections物件還有乙個方法就是可以傳入乙個比較器按照比較器進行比較sort(list

class student

returnresult;

}

}

}

由於內部類是靜態的所以可以用外部類的類名直接使用,new student.studentcomparator()相當於乙個內部類的物件

4.collections類還有public static  comparatorreverseorder()方法返回乙個按照反序排列的比較器,前提是要排序的物件要實現comparable

介面。

5.由上例子可以知道只要是要進行比較的物件,要麼是已經實現了comparable介面也就是compareto(objecto)方法,要麼就是有乙個相關的比較器。

collections.max(collection coll)方法取集合中的最大元素

collections.min(collection coll)方法取集合中的最小元素

二、排序方法

// 插入排序(把陣列看成乙個有序陣列和乙個無序陣列)

class insert

arr[index + 1] = insertval;

n++;

} system.out.println(n);

}}

// 選擇排序 先記錄最小的當全部比較過後再交換 比冒泡交換的次數少

class select

n++;

}// 把找到最小數與arr[j]換位

temp = arr[j];

arr[j] = arr[minindex];

arr[minindex] = temp;

} system.out.println(n);

}}

// 氣泡排序法

class bubble

n++;

}n++;

} system.out.println(n);

}}

三、查詢

// 二分查詢(遞迴思想)

class find else if (val > midval) else if (val == midval)

} }}

集合工具類

collections 多數都是靜態類,由類名呼叫 sort max min reverse copy collections.binarysearch list,25 二分查詢法針對的是公升序排序的集合,如果沒有排序,就不能用二分查詢法,找到了就返回索引。一般與sort聯用。先sort,在二分查詢...

Collections集合工具集合排序

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

集合工具類和陣列工具類

集合的工具類 collections 筆試題 說出collection與collections的區別?1.collection是乙個單列集合的跟介面,collections是操作集合物件的乙個工具類 collections常見方法 1.對list進行排序 sort listlist sort lis...