Java1.7 两个List按照其中一个List元素顺序对另一个List元素进行排序
时间: 2024-03-20 21:44:28 浏览: 127
java中list排序
5星 · 资源好评率100%
在Java 1.7中,我们可以使用Collections.sort方法和自定义Comparator来实现两个List按照其中一个List元素顺序对另一个List元素进行排序。具体步骤如下:
1. 定义两个List,例如list1和list2。
2. 创建一个包含list1中所有元素的新List,例如sortedList1。
3. 使用Collections.sort方法和自定义Comparator对sortedList1进行排序,按照list1中元素的顺序进行比较。
4. 创建一个新的List,例如sortedList2,初始化为list2。
5. 使用Collections.sort方法和自定义Comparator对sortedList2进行排序,根据sortedList1中元素的顺序进行比较。
下面是示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(3, 1, 4, 1, 5, 9);
List<String> list2 = Arrays.asList("C", "A", "D", "B", "E", "F");
List<Integer> sortedList1 = new ArrayList<>(list1);
Collections.sort(sortedList1);
List<String> sortedList2 = new ArrayList<>(list2);
Collections.sort(sortedList2, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
int index1 = list1.indexOf(sortedList1.get(sortedList2.indexOf(s1)));
int index2 = list1.indexOf(sortedList1.get(sortedList2.indexOf(s2)));
return Integer.compare(index1, index2);
}
});
System.out.println(sortedList2); // 输出 [A, B, C, D, E, F]
}
}
```
阅读全文