在java里有个已经排好序的id集合lits,还有一个product对象的集合list2,里面有id这个字段,怎么根据list1里的顺序将list2进行排序
时间: 2024-09-10 15:16:46 浏览: 27
TelegramBot:一个简单的机器人电报
在Java中,如果你有一个已排序的ID集合`List<Integer> lists1`和另一个包含ID字段的产品对象集合`List<Product> list2`,并且`Product`类有对应的getter方法获取ID,你可以使用`Collections.sort()`函数结合自定义比较器来完成排序。
首先,创建一个比较器`Comparator<Product>`,它会根据`lists1`中的ID值来判断两个产品对象的顺序:
```java
Comparator<Product> idComparator = new Comparator<Product>() {
@Override
public int compare(Product p1, Product p2) {
Integer id1 = p1.getId(); // 假设Product类有一个名为getId()的方法
Integer id2 = p2.getId();
return lists1.indexOf(id1) - lists1.indexOf(id2); // 按照lists1的顺序查找索引并比较
}
};
```
然后,使用这个比较器对`list2`进行排序:
```java
Collections.sort(list2, idComparator);
```
现在,`list2`就会按照`lists1`中的ID顺序排列了。
阅读全文