У меня есть список массивов, содержащих две строки:
List<String[]> pets = {["Alice", "dog"], ["Bob", "horse"], ["Alice", "cat"], ["Bob", "cat"]}
Я хочу превратить их в карту из строки в список строк, как показано ниже:
Map<String, List<String>>> pets = Map where
"Alice" maps to the List {"dog, "cat"}
"Bob" maps to the List {"horse", "cat"}
т.е. мы берем первый элемент массива и группируем все элементы, где первые элементы равны друг другу.Обязательным способом решения этой проблемы было бы зацикливание элементов и постепенное построение карты.Есть ли способ сделать это с потоками Java, то есть с помощью Collector или уменьшить?