java 需手动compare lamda表达式
Arrays.sort(s, (a, b) -> b.compareTo(a));
Arrays.toString(s) 比较麻烦
import java.util.Arrays;
import java.util.Random;
public class Arrays_o3 {
public static void main(String[] args) {
// 自定义字符串
String[] s = {"java", "c", "c++", "python", "javascript", "css", "html"};
Arrays.sort(s);
System.out.printf("升序排序:%s%n", Arrays.toString(s));
Arrays.sort(s, (a, b) -> b.compareTo(a));
System.out.printf("降序排序:%s%n", Arrays.toString(s));
Arrays.sort(s, (a, b) -> a.length() - b.length());
System.out.printf("根据字符长度升序排序:%s%n", Arrays.toString(s));
Arrays.sort(s, (a, b) -> b.length() - a.length());
System.out.printf("根据字符长度降序排序:%s%n", Arrays.toString(s));
Random r1 = new Random();
// 乱序排序
for (int i = 0; i < s.length; i++) {
int x = r1.nextInt(s.length);
int y = r1.nextInt(s.length);
if (x == y) {
--i;
continue;
}
String t = s[x];
s[x] = s[y];
s[y] = t;
}
// 输出结果
System.out.printf("乱序排序后结果:%s", Arrays.toString(s));
}
}
go 有工具方法
sort.Sort(sort.Reverse(sort.StringSlice(strSlice)))
直接打印 fmt.Println(strSlice)
import "sort"
func main() {
strSlice := []string{"go", "java", "python", "ruby", "c++", "javascript"}
sort.Sort(sort.Reverse(sort.StringSlice(strSlice)))
fmt.Println(strSlice)
}
Python 有工具方法
array = [3, 1, 4, 2, 0]
array.sort(reverse=True)
print(array)