У меня есть следующее TreeMap
:
TreeMap<Long,String> gasType = new TreeMap<>(); // Long, "Integer-Double"
gasType.put(1L, "7-1.50");
gasType.put(2L, "7-1.50");
gasType.put(3L, "7-3.00");
gasType.put(4L, "8-5.00");
gasType.put(5L, "8-7.00");
Map<Integer,TreeSet<Long>> capacities = new TreeMap<>);
Ключ имеет форму 1L
(a Long
) и значение формы "7-1.50"
(String
сцеплениеint
и double
, разделенных -
).
Мне нужно создать новый TreeMap
, где ключи получены путем взятия части значений int
значенийоригинал Map
(например, для значения "7-1.50"
новый ключ будет 7
).Значением нового Map
будет TreeSet
, содержащее все ключи исходного Map
, соответствующие новому ключу.
Таким образом, для введенного выше значения для клавиши 7
будет Set
{1L, 2L, 3L}.
Я могу сделать это без Stream
с, но я бы хотел сделать это с Stream
с.Любая помощь приветствуется.Спасибо.