写Java代码实现以下功能,将两个装有不同元素的集合 List<FarmerEventSalesEstimateWeekModel> weekModels 和 List<FarmerEventSalesEstimateMonthModel> monthModels,将它们合并成一个新的集合,并且新的集合内部按照元素的id递增排序
时间: 2024-02-06 20:08:57 浏览: 100
可以使用Java 8的Stream API来实现:
```java
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class MergeCollections {
public static List<Object> merge(List<Object> list1, List<Object> list2) {
Stream<Object> stream1 = list1.stream();
Stream<Object> stream2 = list2.stream();
List<Object> mergedList = Stream.concat(stream1, stream2)
.sorted(Comparator.comparingInt(elem -> ((FarmerEventSalesEstimateModel)elem).getId()))
.collect(Collectors.toList());
return mergedList;
}
}
```
其中,`list1`和`list2`是待合并的两个集合,`mergedList`是合并后的新集合。这里使用了`Stream.concat()`方法将两个流合并,然后用`Comparator.comparingInt()`方法按照元素的id递增排序,最后使用`Collectors.toList()`方法将排序后的流转换成List对象。
阅读全文