Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!

Idiom #335 List to map

Create the map m containing all the elements e of the list a, using as key the field e.id.

use std::collections::HashMap;
let mut m = HashMap::new();

for e in a {
	m.entry(e.id).or_insert_with(Vec::new).push(e);
}
final m = {
  for (final e in a) e.id: e,
};
m := make(map[K]V, len(a))
for _, e := range a {
	m[e.id] = e
}
local m={}
for _,e in ipairs(a) do
 m[e.id]=e
end
foreach my $e (@a) {
    $m{$e->id) = $e;
}
m = {e.id:e for e in a}
m = a.group_by(&:id)

New implementation...
< >
programming-idioms.org