在專案裡碰到乙個需求,關於列表排序的,剛開始思路一直在基礎的列表排序演算法上,想了半天也沒想出來怎麼處理這種情況,越想越複雜。在網上查詢資料的時候,意識到可以利用資料庫本身去做排序更新,感覺思路比較新穎,因此在這裡做個記錄。
需求:乙個位置列表,初始的時候記錄是沒有排序序號的,使用者可以隨意設定每條記錄的排序序號,設定完後,後台要更新資料,並完成其餘資料的更新,並且最終的資料一定要是按順序排列的,中間不能有間隔值。例如:原本a:1、b:2、c:3、d:4
,3
的位置要更新為8
,那麼最終的排序排序應該是:a:1、b:2、d:3、c:4
。
思路:
三個變數:原本的位置m,要修改的位置n,當前排序最大值max。
// 以下為偽**
if(n > max + 1)
if(是新增資料)
} else
if(修改資料)
}update table set num = n where id = 業務資料id
Java 列表ArrayList排序
對任意型別集合物件進行整體排序,排序時將此介面的實現傳遞給collections.sort方法或者arrays.sort方法排序.實現int compare t o1,t o2 方法,返回正數,零,負數各代表大於,等於,小於。舉例 liststus new arraylist student stu...
Java 排序,Java 聊天對話列表排序等
首先需要如下方法 根據最後一條訊息的時間戳對對話進行排序 使用時將t替換成你要排序的bean物件 param 需要排序的list private void sorttime list list else if con2.first.lon alue con1.first.lon alue else ...
java讀取檔案列表後排序
掃瞄檔案目錄得到檔案集合list後排序時需要自定義規則 list集合不能對元素型別為file的進行排序 核心方法 collections.sort listlist,comparator c 備註 以下還對要掃瞄的檔案進行過濾 即只取txt檔案 file file new file filepath...