collections.sort(list list)稱為自然排序,排序的物件需要實現可比較的介面,重寫其compareto()方法,方法體中實現物件的比較大小規則
collections.sort(list list,comparator c),
定製排序,或自定義排序
,需編寫匿名
類,先新乙個comparator介面的比較器物件c,同時實現compare()其方法
第一種方法不夠靈活,實體類實現了媲美介面後,會增加耦合,如果在專案中不同的位置需要根據不同的屬性呼叫排序方法時,需要反覆修改比較規則(按名稱還是按年齡),二者只能選擇其一,會起衝突。第二種就很好地解決了這個問題。在需要的地方,建立個內部類的例項,重寫其比較方法即可
java兩種方式實現死鎖
產生死鎖的四個必要條件 1 互斥條件 乙個資源每次只能被乙個程序使用。2 請求與保持條件 乙個程序因請求資源而阻塞時,對已獲得的資源保持不放。3 不剝奪條件 程序已獲得的資源,在末使用完之前,不能強行剝奪。4 迴圈等待條件 若干程序之間形成一種頭尾相接的迴圈等待資源關係。一 對於第二種情況 publ...
快排的java兩種實現方式
快排是最基礎的幾個排序演算法之一,今天再來回顧下 public class quicksort private static void quicksort int array,int beg,int end 上面就是快排主要的框架,最重要就是partition方法,它是劃分並找到下次分割排序的位置p...
Java實現執行緒阻塞的兩種方式
最近參加公司的乙個hackson比賽的時候,需要當前執行緒阻塞,並開啟乙個新的執行緒執行任務,任務執行完成後,再返回結果。執行緒相關的東西,用的都比較膚淺,所以當時只能在網上找了一堆文章,發現很多講得比較繁瑣,感覺如果單純的實現該需求的話,用本文中的兩種方式是最簡單的了。實現方式一,也是最簡單的就是...