java list 根据另一个list优先级排序
时间: 2023-08-29 18:08:56 浏览: 75
你可以使用Java的Collections.sort()方法来根据另一个List的优先级对List进行排序。以下是一个示例代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ListPrioritySortExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("A");
list1.add("B");
list1.add("C");
List<String> list2 = new ArrayList<>();
list2.add("C");
list2.add("A");
list2.add("B");
// 使用Comparator根据list2的优先级对list1进行排序
Collections.sort(list1, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
int index1 = list2.indexOf(o1);
int index2 = list2.indexOf(o2);
return Integer.compare(index1, index2);
}
});
System.out.println("排序后的list1:" + list1);
}
}
```
在上面的示例中,我们有两个List:list1和list2。我们使用Comparator接口的compare方法来比较list1中的元素在list2中的索引位置,并根据索引位置的优先级进行排序。最后,我们打印出排序后的list1。
运行上述代码,输出将是:
```
排序后的list1:[C, A, B]
```
这样,list1就按照list2的优先级进行了排序。你可以根据自己的需求修改比较逻辑和数据类型。希望能对你有所帮助!