关于Vector的优化,自制StringVector

原创 2002年11月01日 23:33:00

public class StringVector{

  private static final int DEFAULT_SIZE = 3;
  private String [] data;
  private int count;
  public StringVector() {

    this(DEFAULT_SIZE);
  }
  public StringVector(int initialSize){

    data = new String[initialSize];
  }
  public void add(String str){

    if(str == null)
      return;
    ensureCapacity(count + 1);
    data[count++] = str;
  }
  private void ensureCapacity(int minCapacity){

    int oldCapacity = data.length;
    if (minCapacity > oldCapacity){

      String oldData[] = data;
      int newCapacity = oldCapacity * 2;
      data = new String[newCapacity];
      System.arraycopy(oldData, 0, data, 0, count);
    }
  }
  public void remove(String str){

    if(str == null)
      return;
    for(int i = 0; i < count; i++){

      if(data[i].equals(str)){

        System.arraycopy(data,i+1,data,i,count-1);
        data[--count] = null;
        return;
      }
    }
  }
  public final String get(int index) {

    if(index < 0)
      return null;
    else if(index > count)
      return null;
    else
      return data[index];
  }
  public int size(){

    return count;
  }
}

vector针对大对象的优化

vector在可用空间不足,进行某些插入操作的时候就会重新分配空间,然后再进行一系列的拷贝工作,如果对象比较大,那么拷贝起来是非常缓慢的。有没有办法提高拷贝时的速度呢。办法是有的。那就是以空间换取时间...
  • lyskyly
  • lyskyly
  • 2006年10月24日 12:24
  • 1496

STL vector提高效率注意事项与技巧

Vector是STL中最常用的容器,比起用户自定义的数组,具有内存分配对用户透明,可动态增长等特点。vector什么操作导致效率低? 毫无疑问,那就是当vector 预留空间不足时 常用操作...
  • hyqsong
  • hyqsong
  • 2016年01月14日 07:57
  • 1536

Hive优化----排序

hive 中的排序优化 在hive中进行字段排序统计过程中,使用ORDER BY是全局排序,hive只能通过一个reduce进行排序.效率很低,采用hive提供的distribute by +s...
  • csliuruidongdn
  • csliuruidongdn
  • 2014年01月08日 16:10
  • 1151

优化有关的人生格言

很多计算机上的过失dougui
  • liang_henry
  • liang_henry
  • 2014年06月18日 17:16
  • 664

请教关于mysql的优化

手头上有个系统,mysql的记录大概达到几千万的级别,每日新增几百万条记录。可以将过时的记录清除,但库中要保存的记录肯定有几千万条,未来会过亿。现时已经分为100个表,但由于select,insert...
  • ncdawen
  • ncdawen
  • 2006年01月06日 23:23
  • 1316

自制简易STL vector

自己写的vector 没有内存配置器 只是简单的用库函数申请内存 应该会有一些bug 如有发现请及时指出 #include #include #include using namespac...
  • xgqxgqxx
  • xgqxgqxx
  • 2014年04月06日 23:34
  • 659

MapReducer优化

如何做一个健壮强的mapreduce程序? 相信每个程序员在编程时都会问自己两个问题“我如何完成这个任务”,以及“怎么能让程序运行得更快”。同样,MapReduce计算模型的多次优化也是为了更好地...
  • qq_39532946
  • qq_39532946
  • 2017年07月31日 18:38
  • 95

关于SQL优化的一点感想

项目进展到后期,需要在页面进行一个4表关联查询,数据并不复杂,但是需要将部分数据进行转化(根据元数据表的id转化为具体内容,例如将value=1的地区转发为“北京”)。         4个表中有两...
  • mattlinsheep
  • mattlinsheep
  • 2012年11月26日 09:12
  • 772

java 集合 ArrayList与Vector的区别:

ArrayList与Vector的区别: ArrayList和Vector都可以用来表示一组数量可变的对象应用的集合; 并且可以随机的访问其中的元素; 区别:ArrayList是JDK1.2之后...
  • baidu_32731497
  • baidu_32731497
  • 2015年11月24日 23:22
  • 1011

关于一些代码效率优化的方法(上)

      由于嵌入式设备的盛行,而对于图像和视频处理的需求越来越高,人与机器的交互也不断的在进步,及产品中硬件成本上的考虑。所以在90年代曾消失一段时间的效率问题又重新困惑在很多研发人员身上。   ...
  • zhuangweif
  • zhuangweif
  • 2011年04月23日 18:44
  • 405
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Vector的优化,自制StringVector
举报原因:
原因补充:

(最多只允许输入30个字)