使用Stream API实现对票据(Ticket)的添加、删除、修改、查询、统计等功能。票据对象包含以下属性: 主键id、票据标题、公司名称、提交人员姓名、金额、票据内容、联系人email、创建时间、票据类型(现金支票、转账支票、普通支票、银行本票)等。
时间: 2023-10-27 21:06:40 浏览: 60
使用 Stream API 可以很方便地实现对票据(Ticket)的添加、删除、修改、查询、统计等功能。首先,我们可以将票据对象存储在一个集合中,比如 List<Ticket> tickets。
1. 添加票据:
可以使用流的 collect 方法将新的票据对象添加到 tickets 集合中,例如:
tickets = tickets.stream().collect(Collectors.toList());
或者,可以使用 Stream 的 concat 方法将新的票据对象添加到 tickets 集合中,例如:
tickets = Stream.concat(tickets.stream(), Stream.of(newTicket)).collect(Collectors.toList());
2. 删除票据:
可以使用流的 filter 方法过滤掉需要删除的票据对象,例如:
tickets = tickets.stream().filter(ticket -> !ticket.getId().equals(id)).collect(Collectors.toList());
3. 修改票据:
可以使用流的 map 方法修改票据对象的属性,例如:
tickets = tickets.stream().map(ticket -> {
if (ticket.getId().equals(id)) {
ticket.setTitle(newTitle);
ticket.setCompanyName(newCompanyName);
// 其他属性的修改
}
return ticket;
}).collect(Collectors.toList());
4. 查询票据:
可以使用流的 filter 方法根据条件查询票据对象,例如:
List<Ticket> searchedTickets = tickets.stream().filter(ticket -> ticket.getCompanyName().equals(companyName)).collect(Collectors.toList());
5. 统计票据:
可以使用流的 count 方法统计票据数量,例如:
long ticketCount = tickets.stream().count();
还可以使用流的 sum、min、max 方法统计票据金额的总和、最小值、最大值等。
这些只是 Stream API 的一些基本用法,实际上,Stream API 还提供了很多其他强大的操作,比如排序、分组、去重等,可以根据具体需求选择适合的方法来实现功能。