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