For your Q2, there are already answers to your question. For your Q1, and more generally when you know that the key's filtering should give a unique value, there's no need to use Streams at all.
Just use get
or getOrDefault
, i.e:
List<String> list1 = id1.getOrDefault(1, Collections.emptyList());