function
HashTable() {
var
size = 0;
var
entry =
new
Object();
this
.add =
function
(key, value) {
if
(!
this
.containsKey(key)) {
size++;
}
entry[key] = value;
}
this
.getValue =
function
(key) {
return
this
.containsKey(key) ? entry[key] :
null
;
}
this
.remove =
function
(key) {
if
(
this
.containsKey(key) && (
delete
entry[key])) {
size--;
}
}
this
.containsKey =
function
(key) {
return
(key
in
entry);
}
this
.containsValue =
function
(value) {
for
(
var
prop
in
entry) {
if
(entry[prop] == value) {
return
true
;
}
}
return
false
;
}
this
.getValues =
function
() {
var
values =
new
Array();
for
(
var
prop
in
entry) {
values.push(entry[prop]);
}
return
values;
}
this
.getKeys =
function
() {
var
keys =
new
Array();
for
(
var
prop
in
entry) {
keys.push(prop);
}
return
keys;
}
this
.getSize =
function
() {
return
size;
}
this
.clear =
function
() {
size = 0;
entry =
new
Object();
}
}