泛型ArrayList

1.简介:

封装的一种数据结构

既有ArrayList的多对象存储功能,又可明确标识其成员类型.

2.类设计图

 

3.Source Code(No Comments Version)

     public class ArrayList<ItemType> : ICollection<ItemType>, IList<ItemType>
     {
         ArrayList Items = new ArrayList();
  
         #region ICollection<ItemType> Members
  
         public void Add(ItemType item)
         {
             Items.Add(item);
         }
  
         public void Clear()
         {
             Items.Clear();
         }
  
         public bool Contains(ItemType item)
         {
             return Items.Contains(item);
         }
  
         public void CopyTo(ItemType[] array, int arrayIndex)
         {
             Items.CopyTo(array, arrayIndex);
         }
  
         public int Count
         {
             get { return Items.Count; }
         }
  
         public bool IsReadOnly
         {
             get { return Items.IsReadOnly; }
         }
  
         public bool Remove(ItemType item)
         {
             Items.Remove(item);
             return true;
         }
  
         #endregion
  
         #region IEnumerable<ItemType> Members
  
         public IEnumerator<ItemType> GetEnumerator()
         {
             foreach (object Obj in Items)
             {
                 yield return (ItemType)Obj;
             }
         }
  
         #endregion
  
         #region IEnumerable Members
  
         IEnumerator IEnumerable.GetEnumerator()
         {
             return Items.GetEnumerator();
         }
  
         #endregion
  
         #region IList<ItemType> Members
  
         public int IndexOf(ItemType item)
         {
             return Items.IndexOf(item);
         }
  
         public void Insert(int index, ItemType item)
         {
             if (index <= Items.Count)
                 Items.Insert(index, item);
         }
  
         public void RemoveAt(int index)
         {
             if (index < Items.Count)
                 Items.RemoveAt(index);
         }
  
         public ItemType this[int index]
         {
             get
             {
                 if (index >= Items.Count)
                     return default(ItemType);
                 return (ItemType)Items[index];
             }
             set
             {
                 Items[index] = value;
             }
         }
  
         #endregion
     }

3.应用实例

(同ArrayList)

posted @ 2009-03-04 21:33  YaSin  阅读(361)  评论(0)    收藏  举报