(Container)Map with array keys

4 visualizaciones (últimos 30 días)
Bananach
Bananach el 19 de Abr. de 2016
Respondida: Titus Edelhofer el 19 de Abr. de 2016
I need a Map whose keys are arrays of integers. MATLAB's Containers.Map does not allow array keys. The implementation with Java's HashMap below also does not work.
jm=java.util.HashMap();
a=[1 1];
jm.put(a,1)
jm.containsKey(a)
I thought that an ad-hoc solution, for fixed array length 2, would be to convert the array into a scalar double (in a reversible way). If there is no other way, could anyone help me doing this?

Respuesta aceptada

Titus Edelhofer
Titus Edelhofer el 19 de Abr. de 2016
Hi,
no, there is no "nice" way of doing this. Using a scalar should work fine though:
a = [42 23];
% assume that your indices fit into [0..65535] (example)
key = a(1)*65536 + a(2);
m = containers.Map({key}, {'Bananach'});
% access works
m(key)
% and it's reversible
aFromKey = [floor(key/65536), rem(key, 65536)]
Titus

Más respuestas (0)

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by