List.js
上传用户:ahit0551
上传日期:2009-04-15
资源大小:2345k
文件大小:2k
源码类别:

xml/soap/webservice

开发平台:

Java

  1. /**
  2.  * An ordered collection. The user can insert element,access element,remove 
  3.  * element,etc.
  4.  * It is zero based.
  5.  * @copyright Copyright (c) xio.name 2006
  6.  * @author xio
  7.  */
  8. function List() {
  9.     this.listData = new Array();
  10. }
  11. //
  12. /**
  13.  * Appends the specified element into the end of this list.
  14.  * @param obj the element to be appended to this list.
  15.  * @return return the position of the appended element.
  16.  */
  17. List.prototype.add = function (obj) {
  18.     this.listData[this.listData.length] = obj;
  19.     return (this.listData.length - 1);
  20. };
  21. //
  22. /**
  23.  * Returns the element at the specified position in this list.
  24.  * @param index index of element to return.
  25.  * @return the element at the specified position in this list.
  26.  */
  27. List.prototype.get = function (index) {
  28.     if ((index < this.listData.length) && (index >= 0)) {
  29.         return this.listData[index];
  30.     }
  31.     return false;
  32. };
  33. //
  34. /**
  35.  * Removes the specified element from this list,if it is present.
  36.  * @ param obj element to be removed.
  37.  */
  38. List.prototype.remove = function (obj) {
  39.     var tempList = new Array();
  40.     for (var i = 0, ti = 0; i < this.listData.length; i++) {
  41.         if (this.listData[i] != obj) {
  42.             tempList[ti] = this.listData[i];
  43.             ti++;
  44.         }
  45.     }
  46.     this.listData = tempList;
  47. };
  48. //
  49. /**
  50.  * Removes the element at the specified position in this list.
  51.  * @param index the index of the element to removed.
  52.  */
  53. List.prototype.removeByIndex = function (index) {
  54.     var tempList = Array();
  55.     for (var i = 0, a = 0; i < this.listData.length; i++) {
  56.         if (i != index) {
  57.             tempList[a] = this.listData[i];
  58.             a++;
  59.         }
  60.     }
  61.     this.listData = tempList;
  62. };
  63. //
  64. /**
  65.  * Returns the number of elements in this list.
  66.  * @return  the number of elements in this list.
  67.  */
  68. List.prototype.size = function () {
  69.     return this.listData.length;
  70. };
  71. //
  72. /**
  73.  * Removes all of the elements from this list.
  74.  */
  75. List.prototype.clear = function () {
  76.     for (var i = 0, a = 0; i < this.listData.length; i++) {
  77.         this.listData[i] = null;
  78.     }
  79.     this.listData.length = 0;
  80. };