最后得到的是Map<String, Integer>,表示库位名称和统计库位任务个数
时间: 2024-11-12 15:39:01 浏览: 6
当你想统计每个库位(`locationName`)的任务数量并以`Map<String, Integer>`的形式呈现,你可以遍历`Task`列表,利用之前提到的`LocationService`来获取`locationName`,同时累加每个库位的任务计数。下面是一个简单的步骤描述:
1. 创建一个空的`HashMap`,键是`locationName`,值是`Integer`类型的计数器。
```java
Map<String, Integer> locationCountMap = new HashMap<>();
```
2. 遍历`Task`列表,对每个任务的`locationId`,使用`LocationService`获取其对应的`locationName`,然后更新计数。
```java
for (Task task : tasks) {
String locationName = locationService.getLocationName(task.locationId);
if (!locationCountMap.containsKey(locationName)) {
locationCountMap.put(locationName, 0);
}
locationCountMap.put(locationName, locationCountMap.get(locationName) + 1);
}
```
3. 这样,`locationCountMap`现在就包含了每个库位名称及其对应的任务数量。
例如,如果`locationName`是"库A",并且有两个任务的`locationId`匹配这个名称,那么`locationCountMap`就会把"库A"的值设为2。
阅读全文