blob: f48ba813a3c615a67da61468cfe8aee981651ed1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
classdef HashMap < handle
properties
data = containers.Map();
meta = types.nil;
end
methods
function obj = HashMap(varargin)
if nargin == 0
obj.data = containers.Map();
else
obj.data = containers.Map(varargin(1:2:end), ...
varargin(2:2:end));
end
end
function len = length(obj)
len = length(obj.data);
end
function ret = get(obj, key)
ret = obj.data(key);
end
function ret = set(obj, key, val)
obj.data(key) = val;
ret = val;
end
function ret = keys(obj)
ret = obj.data.keys();
end
function ret = values(obj)
ret = obj.data.values();
end
function ret = clone(obj)
ret = types.HashMap();
if length(obj) > 0
ret.data = containers.Map(obj.data.keys(), obj.data.values());
else
ret.data = containers.Map();
end
ret.meta = obj.meta;
end
end
end
|