java 把一个元素放到集合按照指定顺序排序,如集合{1,2,3,4,5},按照{2,1,3,4,5}排序
时间: 2023-08-03 21:02:57 浏览: 40
可以使用Java中的Collections.sort()方法来实现按照指定顺序排序。具体步骤如下:
1. 创建一个List集合,包含需要排序的元素。
```
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
```
2. 创建一个Comparator对象,定义按照指定顺序排序的规则。
```
Comparator<Integer> comparator = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
int index1 = orderList.indexOf(o1);
int index2 = orderList.indexOf(o2);
return Integer.compare(index1, index2);
}
};
```
其中,orderList是一个List集合,包含需要按照的顺序。
3. 使用Collections.sort()方法按照定义的规则进行排序。
```
Collections.sort(list, comparator);
```
完整代码如下:
```
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
List<Integer> orderList = new ArrayList<>();
orderList.add(2);
orderList.add(1);
orderList.add(3);
orderList.add(4);
orderList.add(5);
Comparator<Integer> comparator = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
int index1 = orderList.indexOf(o1);
int index2 = orderList.indexOf(o2);
return Integer.compare(index1, index2);
}
};
Collections.sort(list, comparator);
System.out.println(list); // 输出 [2, 1, 3, 4, 5]
```