Qual é a diferença entre Collectors.toConcurrentMap e converter uma opção de fornecedor Map to ConcurrentHashMap via Collectors.toMap?

Eu quero converter umMap dentro deConcurrentHashMap via Java 8Stream eCollector interface e existem duas opções que posso usar.

O primeiro:

Map<Integer, String> mb = persons.stream()
                                 .collect(Collectors.toMap(
                                            p -> p.age, 
                                            p -> p.name, 
                                            (name1, name2) -> name1+";"+name2,
                                            ConcurrentHashMap::new));

E o segundo:

Map<Integer, String> mb1 = persons.stream()
                                  .collect(Collectors.toConcurrentMap(
                                             p -> p.age, 
                                             p -> p.name));

Qual é a melhor opção? Quando devo usar cada opção?

questionAnswers(2)

yourAnswerToTheQuestion