一、选择排序
选择排序是一种简单直观的排序方法,通过选择最小(或最大)元素,与排序后的第一个元素进行交换,以达到排序的目的。在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/n/146576.html