Итерация inputvo и получение общих записей для всех uers.i я должен сделать то же самое для еще 100 списков. Метод sugsgest me generi c для всех списков - PullRequest
0 голосов
/ 15 апреля 2020

Итерация InputVO и получение общих записей для всех пользователей, хранящихся на карте, должны сделать то же самое для нескольких vOs

public List<InputVO> getInputDataFromDB() { 
        List<InputVO> list = dao.getInputVO();  
        Map<String, List<InputVO>> userMap = new HashMap<>();
        list.forEach((inputVO) -> { 
            String userId = inputVO.getUserId();    
            if (userMap.containsKey(userId){
                userMap.get(userId).add(inputVO);
            }else { List<InputVO> results = new ArrayList<>();
                results.add(inputVO);
                userMap.put(userId, results);
            }
   });
}

1 Ответ

0 голосов
/ 15 апреля 2020

Вы можете использовать метод putIfAbsent() вместо containsKey(). Таким образом, будет меньше строк кода и легче читать.

public List<InputVO> getInputDataFromDB() { 
    List<InputVO> list = dao.getInputVO();  
    Map<String, List<InputVO>> userMap = new HashMap<>();
    list.forEach((inputVO) -> { 
        String userId = inputVO.getUserId();
        userMap.putIfAbsent(userId,new ArrayList());    
        userMap.get(userId).add(inputVO);
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...