一、選擇排序
選擇排序是一種簡單直觀的排序方法,通過選擇最小(或最大)元素,與排序後的第一個元素進行交換,以達到排序的目的。在Java中,我們可以使用String的compareTo()方法來進行比較排序。
String[] arr = {"apple", "pear", "banana", "orange"}; for (int i = 0; i < arr.length - 1; i++) { int minIndex = i; for (int j = i + 1; j < arr.length; j++) { if (arr[j].compareTo(arr[minIndex]) < 0) { minIndex = j; } } if (minIndex != i) { String temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } }
二、插入排序
插入排序是另一種簡單的排序方法,它像打牌時插入新牌一樣,將每一個元素插入到有序的數組中。我們同樣可以使用String的compareTo()方法進行比較排序。
String[] arr = {"apple", "pear", "banana", "orange"}; for (int i = 1; i 0 && arr[j].compareTo(arr[j - 1]) < 0) { String temp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = temp; j--; } }
三、Arrays.sort()
除了手動排序,我們還可以使用Java自帶的Arrays類中的sort()方法來排序字元串數組。sort()方法內部使用的是快速排序演算法,對於比較長的數組,效率要高於手動排序。
String[] arr = {"apple", "pear", "banana", "orange"}; Arrays.sort(arr);
四、Collections.sort()
如果我們希望對List進行排序,可以使用Collections.sort()方法,該方法同樣使用快速排序演算法,並且可以對List進行升序或降序排列。
List list = new ArrayList(); list.add("apple"); list.add("pear"); list.add("banana"); list.add("orange"); Collections.sort(list); //降序排列 Collections.sort(list, Collections.reverseOrder());
五、Locale-sensitive排序
在一些需要國際化支持的場合,我們希望根據語言環境對字元串進行排序。這個時候可以使用Collator類。Collator類是用於比較和排序字元串的抽象類,它提供了比較器用於語言環境感知的字元串比較。以下是一個使用Collator的簡單示例:
String[] arr = {"apple", "pear", "banana", "orange"}; Collator collator = Collator.getInstance(Locale.CHINA); Arrays.sort(arr, collator);
原創文章,作者:NDDN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/146576.html