java实现使用java8新特性实现:集合中数据如果大于等于2条,返回前2条数据,如果小于2条数据,则返回全部数据
时间: 2024-11-12 22:35:13 浏览: 13
常用数据结构及其算法的Java实现,包括但不仅限于链表、栈,队列
在Java 8中,可以使用Stream API来轻松地实现这样的功能。以下是一个使用`limit()`和`findFirst()`方法的例子:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public List<DataClass> getData(List<DataClass> dataList) {
return dataList.stream() // 转换成流
.sorted(Comparator.comparing(DataClass::getDate)) // 根据日期排序
.limit(dataList.size() < 2 ? dataList.size() : 2) // 如果少于2条,保持原样;否则截断到第2条
.collect(Collectors.toList()); // 收集回列表
}
```
这里假设`DataClass`有一个名为`getDate()`的方法用于获取需要比较的日期属性。如果`dataList`中的元素数量大于等于2,将返回前2条;如果小于2,返回所有数据。
阅读全文