当前位置:  技术问答>java相关

为什么要自定义一个Vector类?

    来源: 互联网  发布时间:2015-06-05

    本文导语:  看公司源码的时候 看到下面这么一个类 主要是在分页处理的时候 来保存当前要显示页的记录的 我不是很明白,为什么要自定义这么一个类 而不直接使用Vector,或者是其他的Collection API呢? import com.XXX.Base; /*  * T...

看公司源码的时候
看到下面这么一个类
主要是在分页处理的时候
来保存当前要显示页的记录的
我不是很明白,为什么要自定义这么一个类
而不直接使用Vector,或者是其他的Collection API呢?

import com.XXX.Base;

/*
 * Title:         对象数组类
 * Description    提供所有对象的数组类
 * Copyright       
 * Company          
 * @author     
 * @version       1.0
 */

/**
 * 该类为在JAVA 1.1规范下编程提供一个安全使用的Vector类
 */
public class MyVector implements Cloneable
{
  /****************************************************************************
   * 数据成员
   ***************************************************************************/
  protected Object elementData[];
  private int elementCount;

  /****************************************************************************
   * 构造器
   ***************************************************************************/
  public MyVector()
  {
    elementData=new Object[10];
  }

  /****************************************************************************
   * 对外接口
   ***************************************************************************/
  /**
   * 添加元素
   * @param obj
   */
  public void addElement(Object obj)
  {
    ensureCapacityHelper(elementCount + 1);
    elementData[elementCount++]=obj;
  }
  
  /**
   * 替换指定位置的元素
   * @param obj
   * @param index
   */
  public void replaceElement(Object obj,int index)
  {
    if(index>=elementCount)return;
    elementData[index]=obj;
  }
  
  /**
   * Clone
   * @return Object
   */
  public Object clone()
  {
    try
    {
      MyVector v = (MyVector)super.clone();
      v.elementData = new Object[elementCount];
      System.arraycopy(elementData, 0, v.elementData, 0, elementCount);
      return v;
    }
    catch (CloneNotSupportedException e)
    {
      throw new InternalError();
    }
    catch(Exception e)
    {
      return null;
    }
  }
  
  /**
   * 是否有某一元素
   * @param elem
   * @return boolean
   */
  public boolean contains(Object elem)
  {
  return indexOf(elem) >= 0;
  }

  public Object get(int index)
  {
    return elementData[index];
  }

  public int indexOf(Object elem)
  {
    if(elem==null)
    {
      for(int i=0;i0)
    {
    System.arraycopy(elementData,index+1,elementData,index,numMoved);
    }
    
  elementData[--elementCount]=null;
  
   return oldValue;
  }

  /**
   * 
   */
public void removeAll()
{
for(int i=0;i

    
 
 

您可能感兴趣的文章:

  • java命名空间java.util类vector<e>的类成员方法: vector定义及介绍
  • 请问用Vector定义的变量/对象有什么用?
  • java命名空间java.util类vector<e>的类成员方法: elementdata定义及介绍
  • 大家来看看,为什么我的这个vector向量定义在VC下可以运行,在Linux下编译通不过?
  • java命名空间java.util类vector<e>的类成员方法: elementcount定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: capacityincrement定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: clone定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: capacity定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: removeallelements定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: lastelement定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: firstelement定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: trimtosize定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: tostring定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: addelement定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: elements定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: setsize定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: elementat定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: size定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: clear定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: removerange定义及介绍
  • java命名空间java.util类vector<e>的类成员方法: isempty定义及介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.awt类radialgradientpaint的类成员方法: getradius定义及介绍
  • 请问可以用宏定义定义一个二维数组吗?
  • java命名空间javax.xml.stream类xmlinputfactory成员方法: seteventallocator定义参考
  • 想修改路径定义,想找到在哪里定义的,应该怎么办?
  • java命名空间java.text接口attributedcharacteriterator的类成员方法: getallattributekeys定义及介绍
  • php定义数组和使用示例(php数组的定义方法)
  • java命名空间java.beans接口propertyeditor的类成员方法: supportscustomeditor定义及介绍
  • 上次问题解决了,原来是extern被重定义了。。。天阿,关键字也可以被重定义。。。。。欢迎接分
  • java命名空间javax.swing类jtextarea的类成员方法: getcolumnwidth定义及介绍
  • 如何定义一个可变参数的自定义函数
  • java命名空间javax.swing类jtextfield的类成员方法: getcolumnwidth定义及介绍
  • 下面的变量我都下了定义,为什么还出现没定义的信息
  • java命名空间javax.swing类actionmap的类成员方法: allkeys定义及介绍
  • oracle异常(预定义异常,自定义异常)应用介绍
  • java命名空间javax.swing类inputmap的类成员方法: allkeys定义及介绍
  • 为什么我在头文件time.h里找不到time_t的定义呢?只有这个定义typedef __time_t time_t;
  • java命名空间javax.rmi.corba接口valuehandler的类成员方法: iscustommarshaled定义及介绍
  • 函数有定义怎么提示没有低能定义的错误呢?
  • java命名空间javax.swing类jcomponent的类成员方法: resetkeyboardactions定义及介绍
  • android自定义控件和自定义回调函数步骤示例
  • java命名空间java.beans接口customizer的类成员方法: setobject定义及介绍
  • 自定义公共类的装载,包的定义


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3