java list根据另一个list排序
时间: 2023-07-21 15:14:57 浏览: 128
假设有两个List,一个是需要排序的List,一个是排序参照的List。可以通过使用Collections.sort()方法结合Comparator自定义排序规则来实现:
```java
List<String> sortList = new ArrayList<>();
sortList.add("apple");
sortList.add("banana");
sortList.add("orange");
sortList.add("pear");
List<String> referenceList = new ArrayList<>();
referenceList.add("pear");
referenceList.add("apple");
referenceList.add("banana");
referenceList.add("orange");
Collections.sort(sortList, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
Integer index1 = referenceList.indexOf(o1);
Integer index2 = referenceList.indexOf(o2);
return index1.compareTo(index2);
}
});
System.out.println(sortList);
```
上述代码中,先定义了需要排序的List和排序参照的List,然后使用Collections.sort()方法对需要排序的List进行排序,其中传入了一个自定义的Comparator对象,该对象的compare()方法中根据排序参照的List中元素的索引来比较需要排序的List中元素的大小关系,最终实现了按照参照List中元素的顺序进行排序的功能。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)