java通过stream api将list转换为HashMap
一般我们将list转换为hashmap的方式是直接foreach追加,如下:
// 对尺码包按照sizeId进行分组,格式sizeId=>sizeSpecification,尺码编号=>尺码规格 HashMap<String, String> archiveSizeMap = new HashMap<>(); for (ArchiveSizeInfoResponse item : archiveSizeInfoResponseList) { archiveSizeMap.put(item.getSizeId(), item.getSizeSpecification()); }
通过sream api进行转换代码如下:
Map<String, String> archiveSizeMap = archiveSizeInfoResponseList.stream() .collect(Collectors.toMap( ArchiveSizeInfoResponse::getSizeId, ArchiveSizeInfoResponse::getSizeSpecification, (existingValue, newValue) -> newValue // 在这里,如果有重复的key,选择newValue覆盖existingValue ));