欢迎访问宙启技术站
智能推送

编写一个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提供了很多方便的排序方法,可以轻松地对任意类型的数组进行排序。