以下是一个示例代码,演示如何按照名称对二维对象数组进行排序:
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
// 创建一个二维对象数组
Object[][] objects = {
{"John", 25},
{"Alice", 30},
{"Bob", 20}
};
// 使用Comparator按照名称对二维对象数组进行排序
Arrays.sort(objects, Comparator.comparing(o -> (String) o[0]));
// 打印排序后的结果
for (Object[] obj : objects) {
System.out.println(Arrays.toString(obj));
}
}
}
以上代码创建了一个二维对象数组,其中包含了姓名和年龄。使用Comparator.comparing
方法对二维数组进行排序,按照对象数组的第一个元素(即名称)进行比较。最后,通过循环打印排序后的结果。
如果你想对对象数组的数组进行排序,可以使用类似的方法。以下是一个示例代码:
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
// 创建一个对象数组的数组
Person[][] persons = {
{new Person("John", 25), new Person("Alice", 30)},
{new Person("Bob", 20), new Person("David", 35)},
};
// 使用Comparator按照名称对对象数组的数组进行排序
Arrays.sort(persons, Comparator.comparing(arr -> arr[0].getName()));
// 打印排序后的结果
for (Person[] arr : persons) {
System.out.println(Arrays.toString(arr));
}
}
static class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
}
以上代码创建了一个对象数组的数组,每个对象数组包含了姓名和年龄。同样地,使用Comparator.comparing
方法对对象数组的数组进行排序,按照对象数组的第一个元素(即姓名)进行比较。最后,通过循环打印排序后的结果。
请注意,在示例代码中,Person
类被嵌套在Main
类中。你也可以将Person
类放在单独的文件中,以便更好地组织代码。