Java 根据String[]的数组顺序排序 List<AO>中的顺序
时间: 2024-12-02 10:18:20 浏览: 16
在Java中,如果你想按照`String[]`数组的顺序对`List<AO>`中的元素进行排序,首先你需要确保`AO`类有一个属性(字段或getter方法)映射到`String`类型的值,这将用于作为排序的关键字。假设这个关联字段名为`keyString`。
一种常见的做法是使用`Collections.sort()`方法,并自定义一个比较器`Comparator`。你可以创建一个实现了`Comparator<AO>`的匿名内部类,该类会根据`String[]`数组的对应元素来比较`AO`实例。
以下是一个简单的示例:
```java
import java.util.*;
class AO {
private String keyString; // 假设这是AO的一个属性
// 构造函数、getters和setters...
@Override
public String toString() {
return keyString;
}
}
public class Main {
public static void main(String[] args) {
String[] array = {"B", "A", "D", "C"}; // 你的字符串数组顺序
List<AO> aoList = new ArrayList<>(); // 需要排序的AO列表
// 假设aoList已经有了对应的AO实例并设置了keyString
Collections.sort(aoList, new Comparator<AO>() {
@Override
public int compare(AO o1, AO o2) {
return array.indexOf(o1.keyString) - array.indexOf(o2.keyString);
}
});
// 现在aoList已经按array的顺序排列了
}
}
```
阅读全文