util.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. var Map = function(){
  2. this.map = new Object();
  3. };
  4. Map.prototype = {
  5. put : function(key, value){
  6. this.map[key] = value;
  7. },
  8. get : function(key){
  9. return this.map[key];
  10. },
  11. containsKey : function(key){
  12. return key in this.map;
  13. },
  14. containsValue : function(value){
  15. for(var prop in this.map){
  16. if(this.map[prop] == value) return true;
  17. }
  18. return false;
  19. },
  20. isEmpty : function(key){
  21. return (this.size() == 0);
  22. },
  23. clear : function(key){
  24. delete this.map[key];
  25. },
  26. clearAll : function(){
  27. for(var prop in this.map){
  28. delete this.map[prop];
  29. }
  30. },
  31. remove : function(key){
  32. delete this.map[key];
  33. },
  34. keys : function(){
  35. var keys = new Array();
  36. for(var prop in this.map){
  37. keys.push(prop);
  38. }
  39. return keys;
  40. },
  41. values : function(){
  42. var values = new Array();
  43. for(var prop in this.map){
  44. values.push(this.map[prop]);
  45. }
  46. return values;
  47. },
  48. size : function(){
  49. var count = 0;
  50. for (var prop in this.map) {
  51. count++;
  52. }
  53. return count;
  54. }
  55. };
  56. function ArrayList()
  57. {
  58. this.array = new Array();
  59. this.add = function(obj){
  60. this.array[this.array.length] = obj;
  61. }
  62. this.iterator = function (){
  63. return new Iterator(this)
  64. }
  65. this.length = function (){
  66. return this.array.length;
  67. }
  68. this.get = function (index){
  69. return this.array[index];
  70. }
  71. this.addAll = function (obj)
  72. {
  73. if (obj instanceof Array){
  74. for (var i=0;i<obj.length;i++)
  75. {
  76. this.add(obj[i]);
  77. }
  78. } else if (obj instanceof ArrayList){
  79. for (var i=0;i<obj.length();i++)
  80. {
  81. this.add(obj.get(i));
  82. }
  83. }
  84. }
  85. }
  86. function Iterator (arrayList){
  87. this.arrayList;
  88. this.index = 0;
  89. this.hasNext = function (){
  90. return this.index < this.arrayList.length();
  91. }
  92. this.next = function() {
  93. return this.arrayList.get(index++);
  94. }
  95. }