stream流过滤时间段
时间: 2023-08-26 11:17:05 浏览: 142
Stream流可以通过filter()方法来进行过滤操作。如果要过滤时间段,可以使用LocalTime类的isAfter()和isBefore()方法来判断时间是否在指定的时间段内。下面是一个示例代码:
```java
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Test {
public static void main(String[] args) {
List<LocalTime> times = new ArrayList<>();
times.add(LocalTime.parse("08:00:00"));
times.add(LocalTime.parse("12:00:00"));
times.add(LocalTime.parse("15:30:00"));
times.add(LocalTime.parse("19:00:00"));
// 过滤出时间段在8点到12点之间的时间
List<LocalTime> filteredTimes = times.stream()
.filter(time -> time.isAfter(LocalTime.parse("08:00:00")) && time.isBefore(LocalTime.parse("12:00:00")))
.collect(Collectors.toList());
// 输出过滤后的时间
filteredTimes.forEach(System.out::println);
}
}
```
上述代码中,我们创建了一个包含多个时间的List集合,然后使用stream()方法获取流。通过filter()方法,我们可以使用isAfter()和isBefore()方法来过滤出在指定时间段内的时间。最后使用collect()方法将过滤后的时间收集到一个新的List集合中,并使用forEach()方法输出过滤后的时间。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [java8新特性—stream流、时间类](https://blog.csdn.net/weixin_48112109/article/details/125898584)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文