Map<Integer, E> m = new HashMap<>() {{
for (var x : a) put(x.id, x);
}};
class IdMap extends HashMap<Integer, E> {
IdMap(List<E> x) { putAll(x); }
E put(E x) {
return super.put(x.id, x);
}
void putAll(List<E> x) {
x.forEach(this::put);
}
}
Map<Integer, E> m = new IdMap(a);
Map<Integer, E> m = new HashMap<>();
for (var x : a) m.put(x.id, x);
Map<?, E> m = a.stream()
.collect(toMap(x -> x.id, x -> x));
var m = a.ToDictionary(e => e.id, e => 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
}
let m = new Map(a.map(e => [e.id, e]))
local m={}
for _,e in ipairs(a) do
m[e.id]=e
end
type
TList = specialize TFPGList<TData>;
TMap = specialize TFPGMap<TKey, TData>;
var
a: TList;
m: TMap;
idx: integer;
begin
....
m := TMap.Create;
for idx := 0 to a.count-1 do
begin
m.add(a.items[idx].e, a.items[idx]);
end;
....
m.Free;
....
foreach my $e (@a) {
$m{$e->id) = $e;
}
m = dict((x.id, x) for x in a)
class AttributeMap(dict):
def __init__(self, attribute, *args):
array = []
for e in args:
key = getattr(e, attribute)
array.append((key, e))
super().__init__(array)
m = AttributeMap('id', *a)
let mut m = HashMap::new();
for e in a {
m.entry(e.id).or_insert_with(Vec::new).push(e);
}