编写一个Java函数,实现将字符串数组按字典序排序。
发布时间:2023-05-21 03:35:43
Java中的字符串数组可以使用Arrays类中的sort方法进行排序。sort方法会根据元素的自然顺序进行排序,即按照字符的Unicode值进行比较。这是一种字典序的排序方式。
下面是一个简单的实现:
import java.util.Arrays;
public class StringArraySort {
public static void main(String[] args) {
String[] arr = {"hello", "world", "java", "programming"};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
这个程序会输出:
[java, hello, programming, world]
可以看到,排序后的字符串数组按照字典序排列。
如果要排序的元素不是字符串类型,可以使用Comparator接口来指定比较方式。对于自定义的数据类型,需要实现比较接口才能进行排序。
下面是一个例子,对一个由Person对象组成的数组按照年龄排序:
import java.util.Arrays;
import java.util.Comparator;
public class PersonSort {
static class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return name + "(" + age + ")";
}
}
public static void main(String[] args) {
Person[] arr = {
new Person("Tom", 18),
new Person("Jerry", 20),
new Person("Alice", 19)
};
Arrays.sort(arr, Comparator.comparingInt(p -> p.age));
System.out.println(Arrays.toString(arr));
}
}
这个程序会输出:
[Tom(18), Alice(19), Jerry(20)]
可以看到,按照年龄进行了排序。
总之,Java提供了很多方便的排序方法,可以轻松地对任意类型的数组进行排序。
