要按照初始数组状态对对象数组进行排序,你可以使用Java中的Comparator接口来实现自定义的排序规则。下面是一个示例代码:
import java.util.Arrays;
import java.util.Comparator;
class MyObject {
private int id;
private String name;
public MyObject(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
@Override
public String toString() {
return "MyObject{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
public class Main {
public static void main(String[] args) {
MyObject[] objects = new MyObject[5];
objects[0] = new MyObject(3, "Object 3");
objects[1] = new MyObject(1, "Object 1");
objects[2] = new MyObject(4, "Object 4");
objects[3] = new MyObject(2, "Object 2");
objects[4] = new MyObject(5, "Object 5");
// 按照初始数组状态对对象数组进行排序
Arrays.sort(objects, new Comparator() {
@Override
public int compare(MyObject o1, MyObject o2) {
// 根据对象在初始数组中的顺序进行比较
return Integer.compare(o1.getId(), o2.getId());
}
});
// 打印排序后的结果
for (MyObject object : objects) {
System.out.println(object);
}
}
}
在上面的示例代码中,首先定义了一个MyObject
类,该类包含id和name两个属性。然后在Main
类的main
方法中创建了一个MyObject
对象数组,并初始化了一些对象。
接下来,通过调用Arrays.sort
方法对对象数组进行排序,传入了一个实现了Comparator
接口的匿名内部类对象。在匿名内部类的compare
方法中,根据对象在初始数组中的顺序进行比较,返回比较结果。这样就可以按照初始数组状态对对象数组进行排序了。
最后,使用一个循环打印排序后的结果。输出结果会按照初始数组中对象的顺序进行排序。
希望能帮到你!
下一篇:按照出现次数对文件进行排序