please check the console.
if you're using Chrome, F12 and click the "console" tab.
jcollections.exports('HashSet', 'ArrayList', 'LinkedList');
var set = new HashSet();
console.log('0.---------------------------------------------------------------------');
console.log('init: ' + set);//[]
console.log('isEmpty? ' + set.isEmpty());//true
console.log('size: ' + set.size());//0
console.log('1.---------------------------------------------------------------------');
set.add('hello', 'world');
set.add('hello');//repeat!
set.add('world');//repeat!
console.log('after add: ' + set);//[hello,world]
console.log('isEmpty? ' + set.isEmpty());//false
console.log('size: ' + set.size());//2
console.log('2.---------------------------------------------------------------------');
set.remove('world');
console.log('after remove world: ' + set);//[hello]
console.log('contains world? ' + set.contains('world'));//false
console.log('3.---------------------------------------------------------------------');
var set2 = new HashSet();
set2.add('bill', 'scott');
var list = new ArrayList();
list.add(1, 2);
var list2 = new LinkedList();
list2.add(3, 4);
set.addAll(set2);
set.addAll(list);
set.addAll(list2);
console.log('after addAll: ' + set);//[hello,bill,scott,1,2,3,4]
set.clear();
console.log('after clear: ' + set);//[]
console.log('isEmpty? ' + set.isEmpty());//true
console.log('size: ' + set.size());//0
console.log('4.---------------------------------------------------------------------');
var person = {
name: 'john',
age: 40,
toString: function() {
return person.name + ' => ' + person.age;
}
};
set.add(person);
set.add(person);//repeat!
console.log('after add person object: ' + set);//[john => 40]
console.log('contains person object? ' + set.contains(person));//true
set.remove(person);
console.log('after remove person object: ' + set);//[]
console.log('5.---------------------------------------------------------------------');
var Teacher = function(id, name) {
this.id = id;
this.name = name;
this.toString = function() {
return this.id + ' => ' + this.name;
};
};
var teacher = new Teacher('007', 'teacher wang');
set.add(teacher);
set.add(teacher);//repeat!
console.log('after add teacher: ' + set);//[007 => teacher wang]
console.log('contains teacher object? ' + set.contains(teacher));//true
set.remove(teacher);
console.log('after remove teacher object: ' + set);//[]
console.log('6.---------------------------------------------------------------------');
set.add(1, 2, 3, 4, 5, 6);
console.log('after add: ' + set);//[1,2,3,4,5,6]
var iter = set.iterator();
while (iter.hasNext()) {
var elem = iter.next();
if (elem === 2) {
iter.remove();
console.log(elem + ' is removed.');
}
}
console.log('after iterator: ' + set);//[1,3,4,5,6]
console.log('7.---------------------------------------------------------------------');
set.clear();
set.defineEquals(function(elem0, elem1) {
return elem0.id === elem1.id;
});
var obj0 = {
id: 1,
name: 'hello',
toString:function() {
return 'obj => id:' + obj0.id;
}
};
var obj1 = {
id: 1,
name: 'world',
toString: function() {
return 'obj => id:' + obj1.id;
}
};
set.add(obj0);
set.add(obj1);//repeat!
console.log('after defineEquals and add: ' + set);//[]
console.log('contains obj1? ' + set.contains(obj1));//true
set.remove(obj1);
console.log('after remove obj1: ' + set);//[]