- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
Map = function() {
this._entries = new Array();
}
Map.prototype.containsKey = function(key) {
return this.getEntry(key)!=null;
}
Map.prototype.get = function(key) {
var entry = this.getEntry(key);
return entry!=null ? entry.value : null;
}
Map.prototype.put = function(key, value) {
var entry = this.getEntry(key);
if (entry!=null) {
entry.value = value;
} else {
entry = new Map.Entry(key, value);
this._entries[this._entries.length] = entry;
}
}
Map.prototype.size = function() {
return this._entries.length;
}
Map.prototype.getEntry = function(key) {
for (var i=0; i<this._entries.length; i++) {
if (this._entries[i].key==key)
return this._entries[i];
}
return null;
}
Map.prototype.entries = function() {
return this._entries;
}
Map.prototype.keys = function() {
var result = new Array();
for (var i=0; i<this._entries.length; i++) {
result[result.length] = this._entries[i].key;
}
return result;
}
Map.prototype.values = function() {
var result = new Array();
for (var i=0; i<this._entries.length; i++) {
result[result.length] = this._entries[i].value;
}
return result;
}
Map.prototype.addAll = function(map) {
if (map==null)
return;
var oe = map.entries();
for (var i=0; i<oe.length; i++) {
this.put(oe[i].key, oe[i].value);
}
}
Map.prototype.toString = function() {
return "[Map{size:"+this._entries.length+", entries:"+this._entries+"}]";
}
Map.Entry = function(key, value) {
if (arguments.length==0)
return;
this.key = key;
this.value = value;
}
Map.Entry.prototype.toString = function() {
return "[Entry{key:"+this.key+", value:"+this.value+"}]";
}