1. 程式人生 > >collections.sort()預設排序規則

collections.sort()預設排序規則

預設按ASCII碼排序,一位一位的比較,應該排了3次
第一次比較第一位全部是a,所以順序沒變
第二次第二位排序[a0, a1, a12, a11, a10, a2, a3, a4, a5, a6, a7, a8, a9]

第三次第三位排序[a0, a1, a10, a11, a12, a2, a3, a4, a5, a6, a7, a8, a9]

 

Comparator是個介面,可重寫compare()及equals()這兩個方法,用於比價功能;如果是null的話,就是使用元素的預設順序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f,g這樣,當然數字也是這樣的。

compare(a,b)方法:根據第一個引數小於、等於或大於第二個引數分別返回負整數、零或正整數。
equals(obj)方法:僅當指定的物件也是一個 Comparator,並且強行實施與此 Comparator 相同的排序時才返回 true。
Collections.sort(list, new PriceComparator());的第二個引數返回一個int型的值,就相當於一個標誌,告訴sort方法按什麼順序來對list進行排序。