If you don't want to map(), you could replace the accumulator with
(map, foo) -> {
map.put(foo.id(), foo);
map.put(foo.symbol(), foo);
}
But at this point it's hard to see how streaming is an improvement over a simple loop. What do you have against map() anyway?