嵌套循环查找数据怎么弄

这是代码 一个数据库的list 一个24小时的list:

img


但是他会循环三次,我只想要一次,应该怎么改?

img

外层循环开始
定义 boolean flag =false
--内层循环
if hour == hour
flag =true;
--内层结束
if flag ----即当前小时有price
else ---- 找不到对应的hour price=0

Map<Integer,List<Price>> priceMap = priceList.stream().collect(Collectors.groupingBy(p -> a.getH()));
for(int i = 1; i < 24;i ++){
List<Price> prices =  priceMap.get(i);
if(CollectionUtils.isNotEmpty(prices )){
  vo.getH().add(i);
  vo.getPrice().addAll(prices);
}else{
 vo.getH().add(i);
 vo.getPrice().addAll(0);
}
}