Java reduzir uma coleção de string para um mapa de ocorrência

Christina:

Considere a uma lista como id1_f, id2_d, id3_f, id1_g, como eu posso usar fluxo para obter um mapa reduzido em formato de <String, Integer>estatísticas como:

id1 2
id2 1
id3 1

Nota: a chave é parte antes _. É reducefunção pode ajudar aqui?

Adam Siemion:

Isto irá fazer o trabalho:

Map<String, Long> map = Stream.of("id1_f", "id2_d", "id3_f", "id1_g")
  .collect(
    Collectors.groupingBy(v -> v.split("_")[0],
    Collectors.counting())
  );

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=201331&siteId=1
Recomendado
Clasificación